/* =====================================================================
   v4 layer (22 Sep 2026). Loaded after enhancements.css on the homepage,
   aviation, hospitality, about and partners pages. Additive only: nothing in
   home.css, hospitality.css, refinements.css or enhancements.css is edited.
   ===================================================================== */

/* ---- Three-up band (homepage): Aviation + Hospitality + Leadership ------- */
.duo__inner--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.duo__inner--3 .duo__card h2{font-size:clamp(1.75rem,2.5vw,2.45rem);max-width:14ch}
@media(max-width:1100px){.duo__inner--3{grid-template-columns:1fr 1fr}.duo__inner--3 .duo__card:last-child{grid-column:1/-1}}
@media(max-width:900px){.duo__inner--3{grid-template-columns:1fr}.duo__inner--3 .duo__card:last-child{grid-column:auto}}

/* ---- Enquiry forms: topic picker + optional updates --------------------- */
fieldset.topics{border:0;margin:0;padding:0;min-width:0}
fieldset.topics legend{display:block;font-size:.82rem;color:var(--muted);font-weight:500;margin-bottom:.8rem;padding:0}
.topics__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .7rem}
.topics__grid label{position:relative;display:flex;align-items:flex-start;gap:.6rem;margin:0;min-height:48px;padding:.72rem .85rem;
  border:1px solid rgba(24,22,15,.22);font-size:.86rem;line-height:1.45;color:var(--ink);cursor:pointer;
  transition:border-color .2s ease,background .2s ease}
.topics__grid input{width:1.15rem;height:1.15rem;min-height:0;margin:.12rem 0 0;padding:0;flex:0 0 auto;accent-color:var(--forest);border:0}
.topics__grid label:hover{border-color:rgba(42,70,54,.55)}
.topics__grid label:has(input:checked){border-color:var(--forest);background:rgba(42,70,54,.07)}
.topics__grid label:has(input:focus-visible){outline:2px solid var(--forest);outline-offset:2px}
.consent--optional label{font-weight:400}
.field__count{display:block;margin-top:.35rem;font-size:.72rem;color:var(--muted);text-align:right}
@media(max-width:560px){.topics__grid{grid-template-columns:1fr}}

/* ---- Hero with a photographic plate (about, partners) ------------------- */
.plate-hero{min-height:720px;min-height:min(820px,100svh);padding-top:150px;padding-bottom:90px;align-items:flex-end}
.plate-hero .plate-hero__img{position:absolute;inset:0;z-index:0;overflow:hidden}
.plate-hero .plate-hero__img img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;display:block}
.plate-hero .plate-hero__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(13,15,11,.92) 0%,rgba(13,15,11,.78) 38%,rgba(13,15,11,.18) 78%,rgba(13,15,11,.05) 100%),
             linear-gradient(0deg,rgba(13,15,11,.85) 0%,rgba(13,15,11,0) 55%)}
.plate-hero:before{display:none}
.plate-hero .hero-inner{grid-template-columns:minmax(0,1fr);max-width:var(--max)}
.plate-hero h1{font-size:clamp(3.1rem,6.6vw,6.2rem);line-height:1;max-width:13ch;letter-spacing:-.04em}
.plate-hero .hero-copy{max-width:36rem}
.plate-hero--marble .plate-hero__img img{object-position:70% 50%}
@media(max-width:760px){
  .plate-hero{min-height:auto;padding-top:118px;padding-bottom:3.5rem}
  .plate-hero .plate-hero__img::after{background:linear-gradient(0deg,rgba(13,15,11,.94) 0%,rgba(13,15,11,.8) 55%,rgba(13,15,11,.55) 100%)}
  .plate-hero h1{font-size:clamp(2.6rem,11vw,3.4rem)}
}

/* ---- Principles (about) ------------------------------------------------- */
.principles{list-style:none;margin:3rem 0 0;padding:0;border-top:1px solid var(--line-dark)}
.principles li{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.25fr);gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding:1.7rem 0;border-bottom:1px solid var(--line-dark)}
.principles .num{font-size:.72rem;letter-spacing:.14em;color:var(--gold-deep)}
.principles h3{margin:0;font-size:clamp(1.45rem,2.3vw,2.05rem);line-height:1.15}
.principles p{margin:0;color:var(--muted);line-height:1.7;font-size:.98rem;max-width:36rem}
@media(max-width:760px){.principles li{grid-template-columns:2.4rem minmax(0,1fr)}.principles p{grid-column:2}}

/* ---- People (about) ----------------------------------------------------- */
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem}
.people > div{background:rgba(17,19,14,.92);padding:clamp(1.3rem,2.4vw,2rem);display:flex;flex-direction:column;gap:.55rem}
.people .monogram{width:3.4rem;height:3.4rem;border-radius:50%;border:1px solid rgba(200,170,114,.55);display:grid;place-items:center;
  font-family:var(--serif);font-size:1.45rem;color:var(--gold);margin-bottom:.9rem}
.people .monogram--mark{font-size:1.05rem;letter-spacing:.08em}
.people h3{margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15}
.people .role{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.people p:not(.role){color:var(--muted-dark);font-size:.9rem;line-height:1.68;margin-top:.3rem}
@media(max-width:1100px){.people{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.people{grid-template-columns:1fr}}

/* ---- Partner standard (about, partners) --------------------------------- */
.standard{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,4.5rem);counter-reset:std}
.standard li{counter-increment:std;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.4rem 1rem;padding:1.35rem 0;border-top:1px solid var(--line-dark)}
.standard li::before{content:counter(std,decimal-leading-zero);font-size:.72rem;letter-spacing:.12em;color:var(--gold-deep);padding-top:.35rem}
.standard strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.2;color:var(--ink)}
.standard span{display:block;grid-column:2;color:var(--muted);font-size:.93rem;line-height:1.65}
.standard-note{margin-top:2rem;padding:1.1rem 1.3rem;border-left:2px solid var(--gold-deep);background:#ebe5d7;color:#4f493d;font-size:.92rem;line-height:1.65;max-width:52rem}
.standard-note a{color:var(--forest);text-underline-offset:3px}
@media(max-width:760px){.standard{grid-template-columns:1fr}}

/* ---- Discretion charter (about) ----------------------------------------- */
.charter{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);margin-top:3rem;align-items:start}
.charter h3{margin:0 0 1rem;font-size:clamp(1.5rem,2.3vw,2rem)}
.charter p{color:var(--muted-dark);line-height:1.72;font-size:.97rem}
.charter p + p{margin-top:1rem}
.charter ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.charter li{position:relative;padding:1rem 0 1rem 2rem;border-bottom:1px solid var(--line);color:var(--oyster);line-height:1.55;font-size:.97rem}
.charter li::before{content:"";position:absolute;left:.2rem;top:1.45rem;width:.7rem;height:.38rem;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.charter a{color:var(--oyster);text-underline-offset:3px}
@media(max-width:900px){.charter{grid-template-columns:1fr}}

/* ---- Where we work / company (about) ------------------------------------ */
.company{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.6rem}
.company div{border-top:1px solid var(--line-dark);padding-top:1.2rem}
.company strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--ink);margin-bottom:.45rem}
.company span,.company a{color:var(--muted);font-size:.93rem;line-height:1.7}
.company a{color:var(--forest);text-underline-offset:3px}
@media(max-width:760px){.company{grid-template-columns:1fr}}

/* ---- Value cards (partners) --------------------------------------------- */
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:3rem}
.values div{border-top:2px solid var(--forest);padding-top:1.2rem}
.values h3{margin:0 0 .7rem;font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.2}
.values p{color:var(--muted);font-size:.93rem;line-height:1.68}
@media(max-width:1000px){.values{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.values{grid-template-columns:1fr}}

/* ---- Call-to-action band ------------------------------------------------ */
.cta-band{padding:var(--pad-sm) var(--gutter);background:linear-gradient(135deg,var(--forest-2),#11130E);border-top:1px solid var(--line)}
.cta-band__inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.cta-band h2{font-size:clamp(2.1rem,4vw,3.6rem);max-width:15ch;line-height:1.05}
.cta-band p{color:rgba(242,238,230,.74);margin-top:1rem;max-width:34rem;line-height:1.7}
.cta-band .hero-actions{margin-top:0}

/* ---- Room light audit figure (hospitality) ------------------------------ */
.roomaudit{margin:clamp(2.2rem,4vw,3rem) 0 0;padding:clamp(1.3rem,3vw,2rem);border:1px solid rgba(242,238,230,.16);background:rgba(12,14,10,.55)}
.roomaudit__head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.roomaudit__head .eyebrow{margin:0 0 .7rem}
.roomaudit__head h3{margin:0;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1}
.roomaudit__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.4rem,4vw,3rem);align-items:start}
.roomaudit svg{display:block;width:100%;height:auto}
.ra-wall{fill:none;stroke:rgba(242,238,230,.55);stroke-width:3}
.ra-thin{fill:none;stroke:rgba(242,238,230,.3);stroke-width:1.5}
.ra-furn{fill:rgba(242,238,230,.05);stroke:rgba(242,238,230,.34);stroke-width:1.5}
.ra-glass{stroke:#9fc3ae;stroke-width:4}
.ra-curtain{fill:none;stroke:rgba(200,170,114,.65);stroke-width:2;stroke-dasharray:6 5}
.ra-spill{fill:url(#ra-spill)}
.ra-label{font-family:var(--sans);font-size:15px;letter-spacing:.6px;fill:rgba(242,238,230,.62)}
.ra-pt circle{fill:#C8AA72}
.ra-pt text{font-family:var(--sans);font-size:19px;font-weight:700;fill:#11130E;text-anchor:middle;dominant-baseline:central}
.ra-risk circle{fill:none;stroke:#E39D83;stroke-width:2.2}
.ra-risk text{font-family:var(--sans);font-size:16px;font-weight:700;fill:#E39D83;text-anchor:middle;dominant-baseline:central}
.ra-led{fill:#E39D83}
.roomaudit ol{list-style:none;margin:0;padding:0}
.roomaudit li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding:.72rem 0;border-bottom:1px solid rgba(242,238,230,.12);align-items:start}
.roomaudit li b{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--gold);color:var(--ink);font-size:.78rem}
.roomaudit li.risk b{background:transparent;border:1.5px solid #E39D83;color:#E39D83}
.roomaudit li strong{display:block;font-size:.88rem;font-weight:600;color:var(--oyster)}
.roomaudit li span{display:block;margin-top:.15rem;font-size:.8rem;line-height:1.5;color:#b9b4a6}
.roomaudit__sub{margin:1.2rem 0 .4rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.roomaudit figcaption{margin-top:1.1rem;font-size:.76rem;line-height:1.6;color:#aaa696;max-width:60rem}
.roomaudit figcaption a{color:inherit;text-underline-offset:3px}
@media(max-width:900px){.roomaudit__grid{grid-template-columns:1fr}}

/* ---- Recovery schematic (aviation) -------------------------------------- */
.recovery{margin:clamp(2rem,4vw,2.6rem) 0 0;padding:clamp(1.3rem,3vw,2rem);border:1px solid rgba(242,238,230,.16);background:rgba(12,14,10,.55)}
.recovery__head{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}
.recovery__head .eyebrow{margin:0 0 .7rem}
.recovery__head h3{margin:0;font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.12;max-width:22ch}
.recovery__nums{display:flex;gap:2.2rem;flex-wrap:wrap}
.recovery__nums div{min-width:8rem}
.recovery__nums b{display:block;font-family:var(--serif);font-weight:340;font-size:clamp(2.2rem,4vw,3.1rem);line-height:1;color:var(--oyster)}
.recovery__nums span{display:block;margin-top:.4rem;font-size:.78rem;line-height:1.45;color:#b9b4a6;max-width:13rem}
.recovery svg{display:block;width:100%;height:auto;margin-top:.6rem}
.rc-grid line{stroke:rgba(242,238,230,.09);stroke-width:1}
.rc-base{stroke:rgba(242,238,230,.4);stroke-width:1.2;stroke-dasharray:4 5}
.rc-len{fill:none;stroke:#C8AA72;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rc-time{fill:none;stroke:#8FC1A3;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rc-tick{font-family:var(--sans);font-size:14px;fill:rgba(242,238,230,.55)}
.rc-key{font-family:var(--sans);font-size:15px;font-weight:600}
.rc-key--len{fill:#E3CC9B}.rc-key--time{fill:#A9D2B8}
.rc-note{font-family:var(--sans);font-size:14px;fill:rgba(242,238,230,.7)}
.recovery figcaption{margin-top:1rem;font-size:.76rem;line-height:1.6;color:#aaa696;max-width:62rem}
.recovery figcaption a{color:inherit;text-underline-offset:3px}
@media(max-width:760px){.rc-tick--minor{display:none}}

@media print{.plate-hero__img,.cta-band{display:none!important}}
@media(forced-colors:active){.topics__grid label,.people > div,.roomaudit,.recovery{border:1px solid CanvasText}}

/* Plan-only variant of the room audit (guides, where the lists follow in text) */
.roomaudit--plan .roomaudit__grid{grid-template-columns:minmax(0,1fr)}
.roomaudit--plan svg{max-width:520px;margin:0 auto}

/* ---- Market context: three figures (hospitality) ------------------------ */
.market-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem}
.market-grid--3 strong{font-size:clamp(2.3rem,3.4vw,3rem)}
@media(max-width:900px){.market-grid--3{grid-template-columns:1fr;gap:1.8rem}}
.standard li{align-content:start}

/* ---- Recovery timeline as HTML (replaces the SVG: legible at any width) - */
.rc{margin-top:1.6rem}
.rc__row{margin:0 0 1.35rem}
.rc__label{margin:0 0 .5rem;font-size:.9rem;font-weight:600;line-height:1.35}
.rc__row--len .rc__label{color:#E3CC9B}
.rc__row--arch .rc__label,.rc__row--time .rc__label{color:#A9D2B8}
.rc__track{position:relative;height:12px;border-radius:6px;background:rgba(242,238,230,.07)}
.rc__bar{position:absolute;left:0;top:0;bottom:0;width:calc(var(--d) / 15 * 100%);border-radius:6px}
.rc__row--len .rc__bar{background:#C8AA72}
.rc__row--arch .rc__bar{background:rgba(143,193,163,.55)}
.rc__row--time .rc__bar{background:linear-gradient(90deg,rgba(143,193,163,.95),rgba(143,193,163,.4));border-radius:6px 0 0 6px}
.rc__bar--open::after{content:"";position:absolute;right:-11px;top:50%;transform:translateY(-50%);border-left:11px solid rgba(143,193,163,.45);border-top:9px solid transparent;border-bottom:9px solid transparent}
.rc__note{margin:.5rem 0 0;font-size:.82rem;line-height:1.5;color:#b9b4a6}
.rc__axis{position:relative;height:1.6rem;margin:.2rem 0 0;border-top:1px solid rgba(242,238,230,.22)}
.rc__axis span{position:absolute;top:.4rem;left:calc(var(--d) / 15 * 100%);transform:translateX(-50%);font-size:.74rem;color:rgba(242,238,230,.6);white-space:nowrap}
.rc__axis span::before{content:"";position:absolute;left:50%;top:-.45rem;width:1px;height:.3rem;background:rgba(242,238,230,.35)}
.rc__axis span:first-child{transform:none}
.rc__axis span:first-child::before{left:0}
.rc__axis span:last-child{transform:translateX(-100%)}
.rc__axis span:last-child::before{left:auto;right:0}
@media(max-width:560px){.rc__axis span:nth-child(3),.rc__axis span:nth-child(4){display:none}}
.holds__list span a,.av-credit a{color:var(--forest);text-underline-offset:3px;white-space:nowrap}
