/* GWS Assessment — styles built on the site-glass tokens */
@font-face{font-family:"Manrope";font-style:normal;font-weight:300 800;font-display:swap;
  src:url(assets/fonts/manrope-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Manrope";font-style:normal;font-weight:300 800;font-display:swap;
  src:url(assets/fonts/manrope-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+20A0-20C0}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 700;font-display:swap;
  src:url(assets/fonts/sourceserif4-normal-latin.woff2) format("woff2")}

:root{
  --green:#112820; --green-deep:#0C1D17; --cream:#F3EFE5; --ink:#292D2B; --sand:#D8D3C7;
  --warm-grey:#72786F; --signal:#9FC7E8;
  --hair:rgba(216,211,199,.16); --hair-strong:rgba(216,211,199,.34);
  --f-sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --pad:clamp(16px,5vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--green);color:var(--cream);font-family:var(--f-sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input{font:inherit;color:inherit}
a{color:var(--signal);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.gwsa{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.gwsa-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px var(--pad);border-bottom:1px solid var(--hair)}
.gwsa-logo{height:18px;width:auto;max-width:62vw;display:block}
.gwsa-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sand)}
.gwsa-progress{height:2px;background:var(--hair);position:relative}
.gwsa-progress i{position:absolute;inset:0 auto 0 0;background:var(--signal);transition:width .4s var(--ease)}

.gwsa-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:clamp(32px,7vw,80px) var(--pad) 48px}
.screen.enter{animation:rise .45s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.screen.enter{animation:none}.gwsa-progress i{transition:none}}

.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin:0 0 18px;display:flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--signal);border-radius:50%}
.title{font-family:var(--f-serif);font-weight:400;font-size:clamp(28px,4.6vw,44px);line-height:1.12;letter-spacing:-.01em;margin:0 0 12px}
.help{color:var(--sand);margin:0 0 28px;max-width:56ch}
.lead{font-size:18px;color:var(--sand);max-width:52ch;margin:0 0 20px}
.meta{font-size:13px;color:var(--warm-grey);letter-spacing:.02em;margin:0 0 36px}

/* Options */
.opts{display:grid;gap:10px;margin:0 0 32px;padding:0;list-style:none}
.opts.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.opt{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:16px 18px;background:transparent;
  border:1px solid var(--hair-strong);border-radius:2px;cursor:pointer;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--sand);background:rgba(243,239,229,.03)}
.opt[aria-pressed="true"],.opt[aria-checked="true"]{border-color:var(--signal);background:rgba(159,199,232,.08)}
.opt .mark{flex:none;width:18px;height:18px;margin-top:2px;border:1px solid var(--sand);border-radius:50%;display:grid;place-items:center}
.opt.multi .mark{border-radius:2px}
.opt[aria-pressed="true"] .mark,.opt[aria-checked="true"] .mark{border-color:var(--signal);background:var(--signal)}
.opt[aria-pressed="true"] .mark::after,.opt[aria-checked="true"] .mark::after{content:"";width:6px;height:6px;background:var(--green);border-radius:inherit}
.opt b{display:block;font-weight:600}
.opt small{display:block;color:var(--sand);font-size:14px;margin-top:2px}
.opt[disabled]{opacity:.4;cursor:not-allowed}

/* Country picker */
.picker{position:relative;margin:0 0 20px}
.field{width:100%;padding:14px 16px;background:transparent;border:1px solid var(--hair-strong);border-radius:2px;color:var(--cream)}
.field::placeholder{color:var(--warm-grey)}
.field:focus{border-color:var(--signal);outline:none}
.list{list-style:none;margin:6px 0 0;padding:0;max-height:260px;overflow:auto;border:1px solid var(--hair)}
.list li{padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--hair)}
.list li[aria-selected="true"],.list li:hover{background:rgba(159,199,232,.1)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border:1px solid var(--signal);font-size:14px}
.chip button{background:none;border:0;cursor:pointer;color:var(--sand);padding:2px 6px;font-size:16px;line-height:1}

/* Household */
.hh{border-top:1px solid var(--hair);margin:0 0 32px}
.hh-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair)}
.hh-row.sub{padding-left:18px}
.hh-row label{cursor:pointer}
.toggle{width:22px;height:22px;accent-color:var(--signal)}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--hair-strong)}
.stepper button{width:40px;height:38px;background:none;border:0;cursor:pointer;font-size:18px}
.stepper button:disabled{opacity:.3;cursor:default}
.stepper output{min-width:32px;text-align:center;font-variant-numeric:tabular-nums}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{padding:8px 12px;background:none;border:1px solid var(--hair-strong);cursor:pointer;font-size:14px}
.seg button[aria-pressed="true"]{border-color:var(--signal);background:rgba(159,199,232,.1)}

/* Contact */
.form{display:grid;gap:14px;margin:0 0 28px}
.form .row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.form label.lab{display:block;font-size:13px;color:var(--sand);margin-bottom:6px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--sand);cursor:pointer}
.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--signal)}
.err{color:#F2B8A2;font-size:13px;margin:6px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px;border-top:1px solid var(--hair)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border:1px solid var(--cream);background:var(--cream);color:var(--green);
  font-weight:600;letter-spacing:.02em;cursor:pointer;border-radius:2px;transition:background .2s,color .2s;text-decoration:none}
.btn:hover{background:var(--signal);border-color:var(--signal)}
.btn:disabled{opacity:.35;cursor:not-allowed;background:var(--cream)}
.btn.ghost{background:transparent;color:var(--cream);border-color:var(--hair-strong)}
.btn.ghost:hover{border-color:var(--cream);background:transparent}
.link{background:none;border:0;color:var(--sand);cursor:pointer;padding:10px 0;font-size:14px}
.link:hover{color:var(--cream)}
.count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-grey);margin:0 0 14px}

/* Result */
.result-country{font-family:var(--f-serif);font-weight:400;font-size:clamp(44px,9vw,88px);line-height:1;letter-spacing:-.02em;margin:6px 0 36px;color:var(--cream)}
.reasons{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--hair)}
.reasons li{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:18px 0;border-bottom:1px solid var(--hair);font-size:18px;line-height:1.45}
.reasons li span{font-size:12px;color:var(--signal);letter-spacing:.1em;padding-top:5px}
.note{color:var(--sand);margin:0 0 32px;max-width:58ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px}
.fine{font-size:12px;color:var(--warm-grey);max-width:62ch;margin:0}
.status{display:flex;gap:12px;align-items:center;color:var(--sand)}
.spin{width:18px;height:18px;border:2px solid var(--hair-strong);border-top-color:var(--signal);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(1turn)}}

/* Embedded in a page (iframe): the page supplies the header and the ground.
   The frame grows with its content, so nothing scrolls inside it. */
.gwsa-embed,.gwsa-embed body{background:transparent;overflow:hidden}
.gwsa-embed .gwsa{min-height:0}
.gwsa-embed .gwsa-top{display:none}
.gwsa-embed .gwsa-main{max-width:none;padding:clamp(28px,5vw,56px) clamp(20px,5vw,56px) clamp(28px,4vw,44px)}

/* Result: near matches, email notice, inline booking */
.near{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 32px}
@media (max-width:620px){.near{grid-template-columns:1fr}}
.near-card{padding:22px 22px 18px;border:1px solid var(--hair-strong);border-radius:4px;background:rgba(243,239,229,.03)}
.near-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin:0 0 10px}
.near-country{font-family:var(--f-serif);font-weight:400;font-size:clamp(28px,4vw,36px);line-height:1.05;margin:0 0 4px}
.near-prog{font-size:14px;color:var(--sand);margin:0 0 14px}
.near-why{font-size:15px;line-height:1.45;margin:0 0 16px;padding-top:14px;border-top:1px solid var(--hair)}
.near-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-grey);margin:0 0 8px}
.near-adj{list-style:none;margin:0;padding:0}
.near-adj li{position:relative;padding:0 0 8px 18px;font-size:15px;line-height:1.45}
.near-adj li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:1px;background:var(--signal)}
.mail{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;margin:0 0 36px;border:1px solid var(--signal);border-radius:4px;background:rgba(159,199,232,.08)}
.mail-ic{flex:none;color:var(--signal);margin-top:2px}
.mail-t{font-weight:600;margin:0 0 4px;font-size:17px}
.mail-b{margin:0;color:var(--sand);max-width:58ch}
.mail-b strong{color:var(--cream);font-weight:600}
.book{margin:0 0 32px;padding-top:28px;border-top:1px solid var(--hair)}
.book-t{font-family:var(--f-serif);font-weight:400;font-size:clamp(24px,3.4vw,32px);line-height:1.15;margin:0 0 8px}
.book-b{color:var(--sand);margin:0 0 20px;max-width:56ch}
.cal{min-height:700px;border-radius:4px;overflow:hidden;background:var(--cream)}
.cal.is-loading{background:rgba(243,239,229,.04) linear-gradient(90deg,transparent,rgba(243,239,229,.06),transparent) 0 0/200% 100%;animation:calShimmer 1.4s linear infinite}
@keyframes calShimmer{to{background-position:-200% 0}}
.cal .calendly-inline-widget{min-width:280px;height:700px}
.cal-fail{padding:28px;background:var(--green);color:var(--sand)}
.cal:has(.cal-fail){min-height:0}
/* options: content centred vertically (options stretched to their row's height had all the slack at the bottom) */
.opt{align-items:center}
.opt .mark{margin-top:0}
