/* Design tokens, duplicated from style.css so standalone pages that load only this file (/forgot/, /setup/,
   /validate/) get the same colours and fonts. Keep in sync with style.css. */
:root{--bg:#FEFCF7;--card:#FFFFFF;--ink:#1C1A1A;--muted:#7D7672;--line:#E8E2D8;--soft:#F7F3EB;--green:#52684A;--green2:#344D3F;--greenSoft:#EBF1EC;--burg:#610D1A;--burg2:#46080F;--burgSoft:#F6E9EA;--amber:#8A6A1F;--amberSoft:#F6F0E1;--bad:#610D1A;--shadow:0 12px 34px rgba(28,26,26,.07);--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif;--r:16px}
/* Hotel Revenue Co. public landing page · v39 */
.public-mode .app{display:none}
.app-mode .publiclanding{display:none}
.app-mode .app{display:block}
.publiclanding{min-height:100vh;background:var(--bg);color:var(--ink);overflow:hidden}
.landingnav{height:86px;max-width:1380px;margin:0 auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between}
.landingbrand{display:flex;align-items:center;gap:11px;text-decoration:none}
.landingbrand img{width:40px;height:40px;border-radius:9px}
.landingbrand b{display:block;font:600 25px/1 var(--serif);letter-spacing:-.02em}
.landingbrand small{display:block;margin-top:4px;color:var(--muted);font-size:7px;letter-spacing:.2em}
.landinglogin{border:1px solid rgba(97,13,26,.24);background:transparent;color:var(--burg);border-radius:999px;padding:10px 20px;font-weight:600;transition:.2s}
.landinglogin:hover{background:var(--burg);color:#fff;border-color:var(--burg)}
.landinghero{max-width:1380px;min-height:calc(100vh - 86px);margin:0 auto;padding:56px 34px 88px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);gap:40px;align-items:center}
.landingcopy{max-width:660px;padding-bottom:28px}
.landingeyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--burg)}
.landinghero h1{margin:21px 0 27px;font:500 clamp(58px,6vw,96px)/.91 var(--serif);letter-spacing:-.052em}
.landinglead{max-width:620px;margin:0;color:#5f5955;font-size:18px;line-height:1.72;font-weight:300}
.landingactions{display:flex;align-items:center;gap:25px;margin-top:38px;flex-wrap:wrap}
.landingprimary,.questioncta{display:inline-flex;align-items:center;gap:14px;border:0;border-radius:999px;background:var(--burg);color:#fff;text-decoration:none;padding:14px 22px;font-weight:600;transition:transform .2s,background .2s}
.landingprimary:hover,.questioncta:hover{background:var(--burg2);transform:translateY(-1px)}
.landingprimary span,.questioncta span,.landingtextbtn span{font-size:17px;line-height:1}
.landingtextbtn{border:0;background:transparent;padding:12px 0;color:var(--ink);font-weight:500;display:inline-flex;gap:9px;align-items:center}
.landingtextbtn:hover{color:var(--burg)}
.orbitwrap{position:relative;width:min(660px,48vw);aspect-ratio:1;margin-left:auto}
.orbitring{position:absolute;inset:10.5%;border:1px solid rgba(97,13,26,.18);border-radius:50%}
.orbitring:before,.orbitring:after{content:"";position:absolute;border-radius:50%;inset:11%;border:1px dashed rgba(97,13,26,.08)}
.orbitring:after{inset:24%;border-style:solid;opacity:.45}
.orbitcenter{position:absolute;left:50%;top:50%;width:138px;height:138px;transform:translate(-50%,-50%);border-radius:50%;background:var(--burg);color:#fff;display:grid;place-items:center;text-align:center;box-shadow:0 18px 50px rgba(97,13,26,.16);z-index:3}
.orbitcenter svg{width:37px;height:49px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:-8px}
.orbitcenter strong{font-size:9px;line-height:1.25;letter-spacing:.16em;font-weight:600}
.orbitnode{position:absolute;width:128px;height:128px;border:1px solid rgba(28,26,26,.11);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#fff;box-shadow:0 12px 34px rgba(28,26,26,.055);z-index:2;transition:transform .25s,box-shadow .25s}
.orbitnode:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(28,26,26,.09)}
.orbitnode svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;color:#5a514d}
.orbitnode span{font-size:10px;font-weight:650;letter-spacing:.13em}
.node-rest{top:0;left:50%;margin-left:-64px;background:#eef0e5}
.node-connect{top:11%;right:4%;background:#f3ece2}
.node-belong{top:40%;right:-1%;background:#f2e4df}
.node-discover{bottom:8%;right:8%;background:#e7eff1}
.node-celebrate{bottom:-1%;left:50%;margin-left:-64px;background:#f5e9cb}
.node-recover{bottom:8%;left:8%;background:#e9eee2}
.node-create{top:40%;left:-1%;background:#eee8ef}
.node-escape{top:11%;left:4%;background:#e6eef1}
.individualsection{max-width:1260px;margin:0 auto;padding:130px 34px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;border-top:1px solid var(--line)}
.sectionintro h2,.meaninghead h2{font:500 clamp(44px,4.8vw,69px)/.98 var(--serif);letter-spacing:-.045em;margin:18px 0 0}
.sectioncopy{padding-top:24px;max-width:590px}
.sectioncopy p:first-child{font:500 28px/1.38 var(--serif);color:var(--burg);margin:0 0 24px}
.sectioncopy p:last-child{font-size:17px;line-height:1.75;color:#655f5b;font-weight:300;margin:0}
.meaningsection{background:#f5f1ea;padding:125px max(34px,calc((100vw - 1260px)/2))}
.meaninghead{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:64px}
.meaninghead h2{max-width:690px;margin:0}
.meaninggrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d9d2c6}
.meaninggrid article{padding:28px 28px 14px 0;min-height:210px;border-right:1px solid #d9d2c6}
.meaninggrid article+article{padding-left:28px}
.meaninggrid article:last-child{border-right:0}
.meaninggrid article>span{font-size:10px;color:var(--burg);letter-spacing:.12em}
.meaninggrid h3{font:600 29px var(--serif);margin:35px 0 9px}
.meaninggrid p{color:#69625e;font-size:14px;line-height:1.65;margin:0}
.questionsection{margin:0;background:var(--burg);color:#fff;padding:120px max(34px,calc((100vw - 1120px)/2));text-align:center}
.landingeyebrow.light{color:#d9b5bb}
.questionsection h2{font:500 clamp(45px,5.6vw,78px)/1 var(--serif);letter-spacing:-.045em;max-width:1080px;margin:22px auto 29px}
.questionsection p{max-width:760px;margin:0 auto;color:#eadadc;font-size:17px;line-height:1.72;font-weight:300}
.questioncta{margin-top:38px;background:#fff;color:var(--burg)}
.questioncta:hover{background:#f5edee;color:var(--burg)}
.landingfooter{max-width:1380px;margin:0 auto;padding:35px 34px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.footbrand img{width:34px;height:34px}.footbrand b{font-size:20px}
.landingfooter p{margin:0;color:var(--muted);font:500 17px var(--serif)}
.signin form{position:relative}
.signinclose{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;background:var(--soft);border-radius:50%;font-size:21px;line-height:1;color:var(--muted)}
.signinclose:hover{background:#ece8df;color:var(--ink)}

@media(max-width:1100px){
  .landinghero{grid-template-columns:1fr;min-height:auto;padding-top:74px}
  .landingcopy{max-width:800px}
  .orbitwrap{width:min(680px,88vw);margin:40px auto 20px}
  .individualsection{gap:55px}
  .meaninggrid{grid-template-columns:repeat(2,1fr)}
  .meaninggrid article:nth-child(2){border-right:0}.meaninggrid article:nth-child(3),.meaninggrid article:nth-child(4){border-top:1px solid #d9d2c6}
}
@media(max-width:720px){
  .landingnav{height:72px;padding:0 18px}
  .landingbrand img{width:34px;height:34px}.landingbrand b{font-size:19px}.landingbrand small{font-size:6px}
  .landinglogin{padding:8px 15px}
  .landinghero{padding:54px 18px 70px;gap:25px}
  .landinghero h1{font-size:54px;line-height:.95;margin:17px 0 22px}
  .landinglead{font-size:16px;line-height:1.65}
  .landingactions{margin-top:28px;align-items:flex-start;flex-direction:column;gap:5px}
  .orbitwrap{width:min(520px,96vw);margin-top:32px}
  .orbitnode{width:92px;height:92px;gap:6px}
  .orbitnode svg{width:24px;height:24px}.orbitnode span{font-size:8px}
  .orbitcenter{width:104px;height:104px}.orbitcenter svg{width:29px;height:38px}.orbitcenter strong{font-size:7px}
  .node-rest,.node-celebrate{margin-left:-46px}
  .individualsection{padding:85px 18px;grid-template-columns:1fr;gap:28px}
  .sectionintro h2,.meaninghead h2{font-size:45px}
  .sectioncopy{padding-top:0}.sectioncopy p:first-child{font-size:25px}
  .meaningsection{padding:85px 18px}
  .meaninghead{display:block;margin-bottom:40px}.meaninghead h2{margin-top:16px}
  .meaninggrid{grid-template-columns:1fr}
  .meaninggrid article,.meaninggrid article+article{padding:24px 0;border-right:0;border-top:1px solid #d9d2c6;min-height:auto}
  .meaninggrid article:first-child{border-top:0}
  .meaninggrid h3{margin:18px 0 6px}
  .questionsection{padding:86px 18px}.questionsection h2{font-size:46px}.questionsection p{font-size:16px}
  .landingfooter{padding:28px 18px;align-items:flex-start;flex-direction:column}.landingfooter p{font-size:15px}
}
@media(max-width:480px){
  .orbitwrap{width:calc(100vw - 18px)}
  .orbitnode{width:82px;height:82px}.orbitnode svg{width:21px;height:21px}.orbitnode span{font-size:7px}
  .node-rest,.node-celebrate{margin-left:-41px}
  .orbitcenter{width:92px;height:92px}
  .landinghero h1{font-size:47px}
}
/* Approved human-centred hero illustration */
.heroillustration{margin:0 0 0 auto;width:min(660px,48vw);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.heroillustration img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1100px){.heroillustration{width:min(680px,88vw);margin:40px auto 20px}}
@media(max-width:720px){.heroillustration{width:min(520px,96vw);margin-top:32px}}
@media(max-width:480px){.heroillustration{width:calc(100vw - 18px)}}


.productbridge{margin:18px 0 0;max-width:620px;font-size:15px;line-height:1.6;color:#4f514d}
.productbridge strong{font-weight:500}
.contactsection{max-width:1180px;margin:0 auto;padding:82px 42px 92px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid #E8E2D8}
.contactsection h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:46px;line-height:1.03;margin:8px 0 12px;font-weight:600}
.contactsection>div>p{color:#6f716d;font-size:15px;line-height:1.75;max-width:420px}
.contactsection form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contactsection label{font-size:10px;color:#7D7672;display:block}
.contactsection input,.contactsection textarea{display:block;width:100%;border:1px solid #E8E2D8;border-radius:10px;background:#fff;padding:11px 12px;margin-top:5px;color:#1C1A1A;font-family:'Jost','Helvetica Neue',Arial,sans-serif}
.contactsection textarea{min-height:120px;resize:vertical}
.contactsection .wide{grid-column:1/-1}
.contactsection .landingprimary{width:max-content}
.contactstatus{font-size:11px;color:#6f716d;align-self:center;margin:0}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.footerlinks{display:flex;gap:18px;font-size:10px;color:#7D7672}
.footerlinks a{text-decoration:none}.footerlinks a:hover{color:#610D1A}
@media(max-width:760px){.contactsection{grid-template-columns:1fr;padding:55px 22px 65px;gap:28px}.contactsection h2{font-size:38px}.contactsection form{grid-template-columns:1fr}.contactsection .wide{grid-column:auto}.landingfooter{gap:18px;flex-wrap:wrap}.footerlinks{order:3;width:100%}}


.legalpage{max-width:820px;margin:0 auto;padding:76px 28px 110px;color:#1C1A1A}
.legalpage h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:52px;line-height:1.02;margin:10px 0 22px}
.legalpage h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;margin:34px 0 8px}
.legalpage p{font-family:'Jost','Helvetica Neue',Arial,sans-serif;color:#615d5a;font-size:14px;line-height:1.75}
.legalpage a{color:#610D1A}.legalintro{font-size:17px!important;color:#383532!important}.legalupdated{margin-top:48px;font-size:11px!important;color:#8a837f!important}

.productsection{max-width:1220px;margin:0 auto;padding:110px 34px 120px;border-top:1px solid #E8E2D8}
.productintro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:end}
.productintro h2{font:500 clamp(42px,4.8vw,66px)/1 var(--serif);letter-spacing:-.04em;margin:12px 0 0}
.productintro p{font-size:16px;line-height:1.72;color:#625d59;margin:0}
.productpreview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px}
.productpreview article{border:1px solid #E8E2D8;background:#fff;border-radius:18px;padding:20px;min-height:250px;box-shadow:0 10px 32px rgba(28,26,26,.04)}
.productpreview article>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#610D1A;font-weight:600}
.productpreview h3{font:600 25px/1.08 var(--serif);margin:16px 0 22px}
.productpreview article>div{display:grid;grid-template-columns:1.25fr .8fr .6fr;gap:6px;height:74px;align-items:end}
.productpreview i{display:block;border-radius:8px;background:#F4EFE7;border:1px solid #E8E2D8;height:100%}
.productpreview i:nth-child(2){height:72%}.productpreview i:nth-child(3){height:48%;background:#F6E9EA}
.productpreview p{font-size:11px;line-height:1.5;color:#77706c;margin:17px 0 0}
.revemodef{margin-top:18px;border-left:3px solid #610D1A;background:#F7F3EB;border-radius:0 12px 12px 0;padding:18px 20px;display:grid;grid-template-columns:100px 1fr;gap:18px}
.revemodef b{font:600 24px var(--serif);color:#610D1A}.revemodef p{margin:0;color:#625d59;font-size:13px;line-height:1.65}
.consentline{display:flex!important;gap:9px;align-items:flex-start;text-transform:none!important;line-height:1.45}
.consentline input{width:auto!important;margin:2px 0 0!important;flex:0 0 auto}.consentline span{font-size:10px;color:#6f716d}.consentline a{color:#610D1A}
.forgotlink{display:inline-block;margin-top:12px;font-size:10px;color:#610D1A;text-decoration:none}.forgotlink:hover{text-decoration:underline}
.accountpage{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:48px 18px;background:#FEFCF7}
.accountcard{width:min(460px,100%);background:#fff;border:1px solid #E8E2D8;border-radius:18px;padding:28px;box-shadow:0 18px 55px rgba(28,26,26,.07)}
.accountcard h1{font:600 40px/1.02 'Cormorant Garamond',Georgia,serif;margin:8px 0 10px}.accountcard>p{color:#6f716d;font-size:12px;line-height:1.6}
.accountcard label{display:block;font-size:10px;color:#7D7672;margin-top:15px}.accountcard input{width:100%;height:44px;border:1px solid #E8E2D8;border-radius:10px;padding:0 11px;margin-top:5px}
.accountcard .landingprimary{margin-top:18px;border:0}
@media(max-width:760px){.productsection{padding:78px 18px 85px}.productintro{grid-template-columns:1fr;gap:24px}.productpreview{grid-template-columns:1fr}.revemodef{grid-template-columns:1fr;gap:4px}}

.accountcard fieldset{border:0;padding:0;margin:18px 0}.accountcard legend{font-size:10px;color:#7D7672;margin-bottom:7px}.accountcard fieldset label{display:flex;gap:8px;align-items:flex-start;margin:8px 0;color:#4f4b48;font-size:11px;line-height:1.45}.accountcard fieldset input{width:auto;height:auto;margin:2px 0 0;flex:0 0 auto}.accountcard textarea{width:100%;min-height:90px;border:1px solid #E8E2D8;border-radius:10px;padding:10px 11px;margin-top:5px;font:inherit;resize:vertical}.validationprivacy{font-size:9px!important;color:#8a837f!important;margin-top:18px!important}
