/* V4 foundations. Each authored premium-tXX.css owns its composition and palette. */
@font-face{font-family:FactorySyne;src:url(fonts/t02-syne.ttf) format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:FactoryArchivo;src:url(fonts/t03-archivo.ttf) format('truetype');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:FactoryJost;src:url(fonts/t04-jost.ttf) format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:FactoryMona;src:url(fonts/t06-monasans.ttf) format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:FactoryInstrument;src:url(fonts/t24-instrumentsans.ttf) format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:FactoryItaliana;src:url(fonts/t40-italiana.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:FactoryEncode;src:url(fonts/t46-encodesans.ttf) format('truetype');font-weight:100 900;font-display:swap}
.flagship-v4{font-kerning:normal;text-rendering:optimizeLegibility}
.flagship-v4 :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.flagship-v4 :is(a,button):active{opacity:.85}
.flagship-v4 .brand img{transition:transform .26s cubic-bezier(.22,.68,.15,1)}
@media(hover:hover) and (pointer:fine){.flagship-v4 .brand:hover img{transform:rotate(-7deg)}}
.v4-new{line-height:1.65}
.v4-new .site-header{width:min(1400px,calc(100% - 96px));gap:32px;min-height:88px;border-color:var(--line)}
.v4-new .site-header .brand{font-size:20px;letter-spacing:-.035em}
.v4-new .site-header .brand img{width:36px;height:36px}
.v4-new .nav-links{font-size:14px;font-weight:500;gap:28px}
.v4-new .header-action{font-size:14px;min-height:44px;padding:10px 20px}
.v4-new .nav-rail{width:168px;min-height:100vh;padding:36px 24px;gap:44px}
.v4-new.nav-style-rail :is(main,.site-footer){margin-left:168px}
.v4-new .nav-rail .brand{font-size:19px}
.v4-new .nav-rail .nav-links{gap:24px;align-items:flex-start}
.v4-new .nav-pill{margin-top:18px;padding:14px 22px;min-height:72px}
.v4-new .page-intro{padding-block:72px 48px}
.v4-new .page-intro h1{font-size:clamp(44px,6.8vw,94px);max-width:14ch;letter-spacing:-.045em;line-height:1.02}
.v4-new .page-intro>p:last-child{font-size:18px;line-height:1.65}
.v4-new .contact-layout{padding-top:20px}
.v4-new .contact-form{background:var(--surface);padding:40px}
.v4-new .contact-details :is(p,a){font-size:17px}
.v4-new .sms-consent{border:1px solid var(--line);background:var(--bg);padding:26px}
.v4-new .sms-consent :is(p,label){font-size:15px;line-height:1.8}
.v4-new .legal-copy :is(p,li,dd){font-size:17px;line-height:1.85}
.v4-new .legal-copy h2{font-size:clamp(26px,2.6vw,36px);line-height:1.18;letter-spacing:-.03em}
.v4-new .site-footer{border-top:1px solid var(--line);padding-top:44px;background:var(--surface)}
.v4-new .footer-main{align-items:flex-start}
.v4-new .footer-links h4{font-size:14px;font-weight:600}
.v4-new .footer-links a{font-size:15px}
.v4-new .footer-bottom{font-size:12px;gap:24px;line-height:1.7}
.f4-section{width:min(1360px,calc(100% - 96px));margin-inline:auto;padding-block:88px}
.f4-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 23px;border:1px solid var(--text);border-radius:var(--radius);background:var(--text);color:var(--bg);font-size:15px;font-weight:550;line-height:1.35;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.f4-button-secondary{background:transparent;color:var(--text);border-color:var(--line)}
.f4-media{position:relative;min-width:0;overflow:hidden;margin:0;background:var(--surface)}
.f4-media img{display:block;width:100%;height:100%;object-fit:cover}
.f4-media figcaption{font-size:12px;line-height:1.5;padding:12px 0;color:var(--muted)}
[data-f4-progress]{--f4-progress:1}
/* Seven earlier art directions receive individually composed reading modules. */
.f4-reading{padding:clamp(64px,8vw,128px) max(24px,calc((100% - 1280px)/2));background:var(--bg);color:var(--text)}
.f4-reading h2{font:inherit;font-size:clamp(34px,4.5vw,68px);line-height:1.08;letter-spacing:-.035em;margin:16px 0 24px;max-width:16ch}
.f4-reading h3{font:inherit;font-size:24px;line-height:1.25;margin:0 0 18px}
.f4-reading p{font-size:16px;line-height:1.75;max-width:64ch;margin:0 0 18px}
.f4-reading-eyebrow{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.f4-reading-head{margin-bottom:40px}.f4-reading-spread{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}
.f4-reading-question{border-top:1px solid var(--line);padding:24px 0}
.f4-reading-question:last-child{border-bottom:1px solid var(--line)}
.f4-reading-question summary{display:flex;justify-content:space-between;align-items:start;gap:24px;cursor:pointer;list-style:none;font-size:20px;line-height:1.4}
.f4-reading-question summary::-webkit-details-marker{display:none}.f4-reading-question summary b{font:inherit;flex-shrink:0;transition:transform .25s}
.f4-reading-question[open] summary b{transform:rotate(45deg)}.f4-reading-question>div{padding-top:24px}.f4-reading-note{font-size:14px!important;color:var(--muted)}
.f4-reading-context a{display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;text-decoration:none;font-size:14px}
.f4-reading-t02{border-top:1px solid var(--line)}.f4-reading-t02 .f4-reading-head{display:grid;grid-template-columns:1fr 1.2fr;gap:0 64px}.f4-reading-t02 .f4-reading-eyebrow{grid-column:1/-1}
.f4-reading-t03{background:#1c3fe0;color:#fff}.f4-reading-t03 .f4-reading-eyebrow,.f4-reading-t03 .f4-reading-note{color:#dae2ff}.f4-reading-t03 .f4-reading-questions{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.f4-reading-t03 .f4-reading-question{border-color:#9aafff}.f4-reading-t03 .f4-reading-context{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.f4-reading-t03 .f4-reading-context a{align-self:start;justify-self:start}
.f4-reading-t04 .f4-reading-spread{grid-template-columns:1.1fr 1fr}.f4-reading-t04 .f4-reading-context{margin:56px 0 0 auto;max-width:68ch;padding:36px;border:1px solid var(--line);border-radius:36px 0 36px 0}
.f4-reading-t06{background:#e8ecf0;color:#121b2a}.f4-reading-t06 .f4-reading-spread{grid-template-columns:1fr 1.4fr}.f4-reading-t06 .f4-reading-context{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:64px;border-top:1px solid #abb4c0;padding-top:40px}.f4-reading-t06 .f4-reading-note,.f4-reading-t06 .f4-reading-eyebrow{color:#405367}
.f4-reading-t24 .f4-reading-head{border-left:8px solid #665de1;padding-left:32px}.f4-reading-t24 .f4-reading-context{margin-top:40px;background:#efedf8;padding:40px;border-radius:48px 0 0 0;color:#252233}
.f4-reading-t40{background:#e4e0d6;color:#302e26}.f4-reading-t40 h2{font-family:FactoryItaliana,serif}.f4-reading-t40 .f4-reading-context{border-right:1px solid #aaa398;padding-right:48px}.f4-reading-t40 .f4-reading-note,.f4-reading-t40 .f4-reading-eyebrow{color:#575346}
.f4-reading-t46{display:grid;grid-template-columns:180px 1fr 1fr;gap:32px 56px;border-top:1px solid var(--line)}.f4-reading-t46 .f4-reading-coordinate{font:11px/2 monospace;letter-spacing:.06em;color:var(--muted);writing-mode:vertical-rl}.f4-reading-t46 .f4-reading-questions{grid-column:2}.f4-reading-t46 .f4-reading-context{grid-column:3;grid-row:1/3;border-left:1px solid var(--line);padding-left:32px}
@media(max-width:760px){.f4-reading-spread,.f4-reading-t02 .f4-reading-head,.f4-reading-t03 .f4-reading-questions,.f4-reading-t03 .f4-reading-context,.f4-reading-t06 .f4-reading-context,.f4-reading-t46{display:block}.f4-reading-spread{gap:32px}.f4-reading-context{margin-top:40px}.f4-reading-t40 .f4-reading-context{padding:0;border:0;margin:0 0 36px}.f4-reading-t46 .f4-reading-coordinate{writing-mode:horizontal-tb;margin-bottom:32px}.f4-reading-t46 .f4-reading-context{padding:0;border:0}.f4-reading-t24 .f4-reading-context{padding:28px}.f4-reading-t04 .f4-reading-context{padding:28px}.f4-reading-question summary{font-size:18px}}
@media(max-width:760px){body.flagship-v4 .site-header.menu-open #primary-nav{display:flex;position:absolute;top:100%;left:0;right:0;z-index:5;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;background:var(--bg);border:1px solid var(--line);opacity:1;visibility:visible;transform:none;pointer-events:auto}}
body.flagship-v4.motion-paused,body.flagship-v4.motion-paused *,body.flagship-v4.motion-paused *::before,body.flagship-v4.motion-paused *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){body.flagship-v4,body.flagship-v4 *,body.flagship-v4 *::before,body.flagship-v4 *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.f4-live [data-f4-parallax]{overflow:hidden}
.f4-live [data-f4-parallax]>img{transform:translateY(var(--f4-parallax-y,0px)) scale(1.12)}
.f4-live [data-f4-tilt]>.f4-tilt-surface{transform:perspective(1000px) rotateX(var(--f4-rotate-x,0deg)) rotateY(var(--f4-rotate-y,0deg));transform-origin:center;transition:transform .18s ease-out}
[data-f4-switcher] [role=tabpanel][hidden],[data-f4-folio] [data-f4-page][hidden]{display:none!important}
.f4-folio-status{font-variant-numeric:tabular-nums;font-size:13px;line-height:1.5;color:var(--muted)}
[data-f4-step][disabled]{opacity:.35;cursor:default}
[data-f4-switcher] [role=tab]{cursor:pointer}
@media(hover:hover) and (pointer:fine){.f4-button:hover{background:var(--bg);color:var(--text)}.f4-button-secondary:hover{background:var(--text);color:var(--bg)}}
@media(max-width:1050px){.v4-new .site-header{width:calc(100% - 64px);gap:22px}.f4-section{width:calc(100% - 64px);padding-block:68px}.v4-new .header-action{display:none}.v4-new .nav-rail{width:140px;padding-inline:18px}.v4-new.nav-style-rail :is(main,.site-footer){margin-left:140px}}
@media(max-width:760px){
 .v4-new .site-header{width:calc(100% - 40px);min-height:76px;gap:16px;padding:19px 0}
 .v4-new .site-header .brand{font-size:17px;max-width:calc(100% - 62px)}
 .v4-new .site-header .brand img{width:30px;height:30px}
 .v4-new .nav-rail{position:relative;width:calc(100% - 40px);min-height:0;margin:auto;padding:19px 0;gap:16px}
 .v4-new.nav-style-rail :is(main,.site-footer){margin-left:0}
 .v4-new .nav-rail .nav-links{align-items:flex-start}
 .v4-new .nav-pill{padding:12px 16px;margin-top:12px;min-height:66px}
 .v4-new .page-intro{padding-block:46px 32px}
 .v4-new .page-intro h1{font-size:clamp(40px,11vw,58px)}
 .v4-new .contact-form{padding:24px}.v4-new .sms-consent{padding:18px}
 .v4-new .contact-details :is(p,a){font-size:16px}
 .v4-new .legal-copy :is(p,li,dd){font-size:16px}
 .f4-section{width:calc(100% - 40px);padding-block:52px}
 .f4-button{padding:14px 19px;font-size:14px}
 .v4-new .footer-links a{font-size:14px}
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:f4-page-out .16s ease both}
::view-transition-new(root){animation:f4-page-in .24s cubic-bezier(.22,.68,.15,1) both}
@keyframes f4-page-out{to{opacity:0}}
@keyframes f4-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 .flagship-v4 .brand img,.f4-button{transition:none}
 .flagship-v4 .brand:hover img{transform:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 .f4-live [data-f4-parallax]>img,.f4-live [data-f4-tilt]>.f4-tilt-surface{transform:none}
}
