/* SITP estate design system. Canonical tokens harmonised from the homepage. Linked last so it wins the cascade. */
:root{
 --gold:#B8A46A;--bg:#0C0C0C;--ink:#FFFFFF;--mut:#8C8B85;--hair:#2A2A26;--rule:#FFFFFF;--faint:#54534C;
 --fs:'Helvetica Neue',Helvetica,Arial,sans-serif;
 --fh:'Helvetica Neue',Helvetica,Arial,sans-serif;
 --fs-display:clamp(30px,3.8vw,48px);--fs-close:clamp(24px,3vw,36px);--fs-quote:clamp(22px,2.8vw,34px);
 --fs-title:clamp(22px,2.4vw,26px);--fs-h4:19px;--fs-h5:15px;--fs-h6:12.5px;
 --fs-body-lg:16px;--fs-body:14px;--fs-body-sm:13px;--fs-nav:12px;--fs-cap:12px;--fs-label:11px;
 --lh-display:1.02;--lh-head:1.3;--lh-body:1.65;
 --s2:12px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;
}
body{font-family:var(--fs);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--fh)}

/* section seams: one animated gold rule across the estate (tagged by graph.js on non-hero sections) */
.sitp-seam{position:relative;border-top:none!important;border-bottom:none!important}
.sitp-seam::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.sitp-seam.sitp-on::before{transform:scaleX(1)}

/* positioning: unify section rhythm and content width to the canon */
.sitp-seam{padding-top:var(--sec-y)!important;padding-bottom:var(--sec-y)!important}
.wrap{max-width:1100px!important}

/* one chrome across the estate: fixed masthead, identical geometry, hamburger + full-screen overlay */
body{padding-top:64px!important}
body.schrome-open{overflow:hidden}
.schrome{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,44px);background:rgba(8,8,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.schrome-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none}
.schrome-brand svg{display:block;flex-shrink:0}
.sb-txt{display:flex;flex-direction:column;line-height:1}
.sb-name{color:var(--ink);font-weight:700;font-size:15px;letter-spacing:3px}
.sb-sub{color:var(--gold);font-size:8.5px;letter-spacing:2.6px;text-transform:uppercase;font-weight:700;margin-top:4px}
.schrome-burger{width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative;padding:0}
.schrome-burger span{position:absolute;left:9px;right:9px;height:1.5px;background:var(--ink);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s}
.schrome-burger span:first-child{top:18px}
.schrome-burger span:last-child{bottom:18px}
.schrome-burger:hover span{background:var(--gold)}
body.schrome-open .schrome-burger span:first-child{transform:translateY(3.5px) rotate(45deg);background:var(--gold)}
body.schrome-open .schrome-burger span:last-child{transform:translateY(-3.5px) rotate(-45deg);background:var(--gold)}
.schrome-overlay{position:fixed;inset:0;z-index:999;background:rgba(5,5,6,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}
body.schrome-open .schrome-overlay{opacity:1;visibility:visible;transition:opacity .5s ease}
.schrome-menu{display:flex;flex-direction:column;gap:4px;text-align:center}
.schrome-menu a{color:var(--ink);text-decoration:none;font-family:var(--fh);font-size:clamp(26px,4.6vh,40px);font-weight:600;letter-spacing:-.5px;padding:6px 24px;opacity:0;transform:translateY(18px);transition:color .3s,opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
body.schrome-open .schrome-menu a{opacity:1;transform:none}
body.schrome-open .schrome-menu a:nth-child(1){transition-delay:0.05s,0.09s,0.09s}
body.schrome-open .schrome-menu a:nth-child(2){transition-delay:0.10s,0.13s,0.13s}
body.schrome-open .schrome-menu a:nth-child(3){transition-delay:0.15s,0.17s,0.17s}
body.schrome-open .schrome-menu a:nth-child(4){transition-delay:0.20s,0.21s,0.21s}
body.schrome-open .schrome-menu a:nth-child(5){transition-delay:0.25s,0.25s,0.25s}
body.schrome-open .schrome-menu a:nth-child(6){transition-delay:0.30s,0.29s,0.29s}
body.schrome-open .schrome-menu a:nth-child(7){transition-delay:0.35s,0.33s,0.33s}
.schrome-menu a:hover,.schrome-menu a.on{color:var(--gold)}
.schrome-menu a.gold{color:var(--gold);font-size:clamp(15px,2.2vh,18px);letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-top:26px}

/* convergence: one type scale, one label voice, one component language, one motion system */
.sitp-seam h2:not(.lg-hero){font-size:var(--fs-title)!important;font-weight:600;line-height:var(--lh-head)}
.gl,.kick,.eyebrow,.section-label,.ab-label,.tag{font-size:var(--fs-label)!important;letter-spacing:3px!important;text-transform:uppercase!important;font-weight:700!important;color:var(--gold)!important}
a[class*="btn"],button[class*="btn"],.btn,.btn2{border-radius:0!important}
footer{background:transparent!important;border-top:1px solid var(--hair);font-size:var(--fs-cap)}
.sitp-seam>*{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.sitp-seam.sitp-on>*{opacity:1;transform:none}
.sitp-seam.sitp-on>*:nth-child(1){transition-delay:0.00s}
.sitp-seam.sitp-on>*:nth-child(2){transition-delay:0.08s}
.sitp-seam.sitp-on>*:nth-child(3){transition-delay:0.16s}
.sitp-seam.sitp-on>*:nth-child(4){transition-delay:0.24s}
.sitp-seam.sitp-on>*:nth-child(5){transition-delay:0.32s}
.sitp-seam.sitp-on>*:nth-child(6){transition-delay:0.40s}
@media (prefers-reduced-motion: reduce){.sitp-seam>*{opacity:1!important;transform:none!important;transition:none!important}}

/* type quantisation: all running text and sub-headings snap to the token scale, killing the 9-16px spread */
p,li{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important}
h3{font-size:var(--fs-h4)!important}
h4{font-size:var(--fs-h5)!important}
h5,h6{font-size:var(--fs-label)!important;letter-spacing:2px;text-transform:uppercase}
small{font-size:var(--fs-cap)!important}

/* shared pipeline component (used via SITPGraph pipeline in graph.js) */
.lp-pipe{margin:56px 0 0}.lp-groups{display:flex;margin:0 0 18px}.lp-gr{flex:0 0 40%;display:flex;align-items:baseline;gap:12px}.lp-gr.g2{flex:0 0 60%}
.lp-gr .nm{font-size:15px;font-weight:600;color:var(--ink)}.lp-gr .tg{color:var(--gold);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700}
.lp-track{position:relative;height:120px}.lp-cvel{position:absolute;inset:0;width:100%;height:100%;display:block}
.lp-stations{position:absolute;inset:0;display:flex}
.lp-st{position:relative;flex:1;background:none;border:0;cursor:pointer;padding:0;color:inherit;font:inherit}
.lp-st .dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:#0C0C0C;border:1.5px solid var(--gold);transition:.4s}
.lp-st .dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold);opacity:.35;transition:.4s}
.lp-st .lbl{position:absolute;top:calc(50% + 22px);left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--mut);font-size:12px;letter-spacing:.4px;transition:.4s}
.lp-st .idx{position:absolute;top:calc(50% - 40px);left:50%;transform:translateX(-50%);color:#5E5D55;font-size:9.5px;letter-spacing:2px;font-weight:700;transition:.4s}
.lp-st:hover .dot,.lp-st.on .dot{border-color:#D9C58C;box-shadow:0 0 18px rgba(184,164,106,.55)}
.lp-st:hover .dot::after,.lp-st.on .dot::after{opacity:1;background:#D9C58C}
.lp-st.on .lbl{color:var(--ink);font-weight:600}.lp-st.on .idx{color:var(--gold)}
.lp-detail{margin-top:40px;border-top:1px solid var(--hair);padding-top:32px;display:grid;grid-template-columns:1.35fr 1fr;gap:52px;align-items:start;min-height:190px}
.lp-dl .dh{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.lp-dl h3{font-size:19px;font-weight:600;margin:0}
.lp-dl .dtag{color:var(--gold);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700}
.lp-dl p{color:#B4B2AA;font-size:var(--fs-body);line-height:var(--lh-body);margin:0 0 12px;max-width:56ch}.lp-dl p b{color:#E7E5DE;font-weight:600}
.lp-dr{border-left:1px solid var(--hair);padding-left:40px}
.lp-dr .plabel{color:var(--gold);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:16px}
.lp-dr .num{color:var(--gold);font-size:34px;font-weight:600;letter-spacing:-1px;line-height:1;display:block}
.lp-dr .k{color:var(--mut);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin-top:10px;display:block;line-height:1.5}
.lp-dr .sup{color:var(--mut);font-size:13px;line-height:1.6;margin-top:18px;display:block}
.lp-fade{animation:lpdf .45s ease}@keyframes lpdf{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:860px){.lp-groups{display:none}.lp-track{height:auto}.lp-stations{position:static;flex-direction:column;gap:24px}.lp-st{height:56px}.lp-detail{grid-template-columns:1fr;gap:26px}.lp-dr{border-left:none;padding-left:0;border-top:1px solid var(--hair);padding-top:22px}}

/* canonical hero recipe: one opening treatment across the estate (fold height, centred, uniform padding) */
.hero,.pp-hero,.contact-section{position:relative;overflow:hidden;min-height:calc(100svh - 64px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:44px 0 52px!important}
.hero,.pp-hero{align-items:center;text-align:center}
.pp-hero>.gl,.pp-hero>h1,.pp-hero>.disp,.pp-hero>p,.pp-hero>div{position:relative;z-index:2}
