@font-face{font-family:Oswald;src:url('assets/oswald.woff2') format('woff2');font-weight:200 700;font-display:swap}@font-face{font-family:HelveticaWeb;src:url('assets/helvetica.woff2') format('woff2');font-weight:500;font-display:swap}
:root{color-scheme:dark;--bg:#302620;--text:#f6efe7;--muted:#c8b9ad;--line:#f8e9dc2e;--glass:#30262185}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font:500 16px/1.6 HelveticaWeb,'Helvetica Neue',Arial,sans-serif}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(125deg,#754b3355,transparent 55%,#18161799)}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid #f6d4b6;outline-offset:6px}::selection{background:#e3b796;color:#302620}.wrap{width:calc(100% - 64px);max-width:1472px;margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-block:22px;padding:17px 26px;border:1px solid var(--line);border-radius:25px;background:#392c2566;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:13px;line-height:1}.brand svg{width:37px;height:37px}.brand>span{font-size:30px;letter-spacing:-1.5px}.brand-sub{display:block;font-size:9px;letter-spacing:1.8px;margin-top:7px}.header nav{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:14px;color:#dfd1c6}.header nav a:hover{color:white}.header-link{flex-shrink:0;font-size:14px;border-bottom:1px solid #a88a75;padding-block:6px}.header-link span{margin-left:24px}.hero{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;border:1px solid var(--line);min-height:660px;height:calc(100svh - 150px);max-height:900px;padding:34px 44px 23px;display:flex;flex-direction:column}.hero-photo,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:center 59%}.hero-overlay{z-index:-1;background:linear-gradient(180deg,#20160d65 0%,#25180c0d 54%,#150f0aba 100%),linear-gradient(90deg,#20180f52,transparent 75%)}.hero-top{display:flex;justify-content:space-between;gap:16px}.eyebrow{font-size:12px;letter-spacing:2px}.edition{font-size:13px;color:#e7d6c6}h1,h2,h3{font-family:Oswald,Arial,sans-serif;font-weight:400;margin:0;line-height:1.13}h1{font-size:clamp(56px,6.6vw,101px);letter-spacing:-1.6px;margin:35px 0 40px;text-shadow:0 2px 30px #24170b25}.hero-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:25px}.hero-bottom p{font-size:21px;line-height:1.5;margin:0}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:19px 25px;border-radius:100px;border:1px solid #f8e9dc50;font-size:16px;transition:background .2s,transform .2s}.button span{font-size:25px;line-height:1}.glass{background:#46382e80;backdrop-filter:blur(22px)}.button:hover{background:#6c5243a6;transform:translateY(-2px)}.hero-foot{margin-top:32px;padding-top:16px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;font-size:12px;color:#e1cdbd}.hero-foot a span{margin-left:15px}.about{padding-block:105px 100px;display:grid;grid-template-columns:1fr 2.35fr;gap:50px;border-bottom:1px solid var(--line)}.section-label{display:flex;flex-direction:column;justify-content:space-between;align-items:start;color:var(--muted)}.tiny-mark{font-family:Oswald;font-size:100px;font-weight:300;line-height:1;color:#b2907445}.about h2{font-size:clamp(40px,4.4vw,64px)}.about h2 span{color:#bba18b}.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}.about p{margin:0;color:var(--muted);max-width:420px;font-size:16px;line-height:1.8}.directions{padding-block:75px 85px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-heading h2{font-size:54px;margin-top:14px}.section-heading p{margin:0;color:var(--muted);font-size:15px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-card{position:relative;isolation:isolate;overflow:hidden;min-height:410px;border-radius:28px;display:flex;flex-direction:column;justify-content:space-between;padding:27px;border:1px solid var(--line)}.project-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(#20160f33 0%,transparent 30%,#160f0cd9 100%)}.card-tag{align-self:start;font-size:11px;letter-spacing:1.6px;border:1px solid #ffffff4a;border-radius:100px;padding:7px 12px;background:#211a1550;backdrop-filter:blur(12px)}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px}.card-bottom h3{font-size:43px}.card-bottom p{font-size:14px;color:#e1d2c6;margin:10px 0 0}.circle{flex-shrink:0;width:49px;height:49px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;background:#ffffff0d;font-size:24px}.closing{padding:33px 40px 40px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(115deg,#81634a33,#362b2380)}.closing>div{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}.closing h2{font-size:60px}.light{background:#f2e6d7;color:#35291f;border-color:#f2e6d7}.light:hover{background:#dcc6ae}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px;color:var(--muted);font-size:12px}.footer-logo{font-size:30px;letter-spacing:-1.7px;color:var(--text)}
@media(min-width:1700px){.hero{height:800px}}@media(max-width:900px){.wrap{width:calc(100% - 36px)}.header{padding:16px 20px}.hero{padding:29px 28px 20px;min-height:630px}.hero h1{font-size:70px}.hero-bottom p{font-size:18px}.about{grid-template-columns:1fr;gap:30px;padding-block:65px}.tiny-mark{display:none}.project-card{min-height:350px;padding:22px}.card-bottom p{max-width:210px}.closing h2{font-size:46px}.closing{padding:30px}.header nav{gap:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 24px)}.header{margin-block:12px;gap:15px;border-radius:20px;padding:15px}.brand svg{width:30px;height:30px}.brand>span{font-size:27px}.brand-sub{font-size:8px;letter-spacing:1.2px}.header nav{display:none}.header-link{font-size:12px}.header-link span{margin-left:10px}.hero{border-radius:25px;min-height:650px;height:calc(100svh - 105px);max-height:850px;padding:25px 22px 19px}.hero-photo{object-position:47% center}.hero-overlay{background:linear-gradient(180deg,#24180e88,transparent 55%,#1b110ce8)}.hero-top .eyebrow{font-size:10px;letter-spacing:1.5px}.edition{display:none}.hero h1{font-size:clamp(47px,11.3vw,68px);letter-spacing:-.5px;margin-top:32px}.hero-bottom{align-items:start;flex-direction:column;gap:24px}.hero-bottom p{font-size:19px}.hero-bottom .button{width:100%;padding:17px 21px}.hero-foot{margin-top:23px}.hero-foot>span{display:none}.hero-foot a{width:100%;display:flex;justify-content:space-between}.about{padding:58px 10px;gap:24px}.about h2{font-size:39px}.about-bottom{grid-template-columns:1fr;gap:19px;margin-top:25px}.about p{font-size:16px;line-height:1.7}.directions{padding-block:48px}.section-heading{padding-inline:10px;align-items:start;gap:20px}.section-heading h2{font-size:42px}.section-heading p{display:none}.cards{grid-template-columns:1fr;gap:16px}.project-card{min-height:375px}.card-bottom h3{font-size:39px}.card-bottom p{max-width:240px}.closing{padding:28px 22px}.closing .eyebrow{font-size:10px;letter-spacing:1.3px}.closing>div{flex-direction:column;align-items:start;gap:28px}.closing h2{font-size:44px}.closing .button{width:100%;font-size:14px;padding:17px 20px}footer{flex-wrap:wrap;padding:25px 10px;gap:12px}footer>span:nth-child(2){order:3;flex-basis:100%}footer>span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Light theme follows the warm glass palette of the supplied reference. */
:root[data-theme=light]{color-scheme:light;--bg:#dfcbb9;--text:#30251e;--muted:#584537;--line:#73533d30;--glass:#fff5e8ae}
:root[data-theme=light] body:before{background:linear-gradient(120deg,#fff9ee7a,#f5e4d455),url('assets/exterior.webp') center/cover;filter:blur(42px) brightness(1.35);opacity:.52;inset:-45px}
:root[data-theme=light] .header{background:#fff5e8b8;box-shadow:0 10px 32px #68493516}
:root[data-theme=light] .header nav{color:#584537}
:root[data-theme=light] .header-link{border-color:#805439}
:root[data-theme=light] .about h2 span{color:#805439}
:root[data-theme=light] .tiny-mark{color:#8054394a}
:root[data-theme=light] .closing{background:#fff6ec9c}
:root[data-theme=light] .light{background:#493326;color:#fffaf4;border-color:#493326}
:root[data-theme=light] .light:hover{background:#6c4c35}
:root[data-theme=light] .hero,:root[data-theme=light] .project-card{color:#fffaf4}
.header .brand{min-height:44px}
.header .ol-theme{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}
.header .ol-theme svg{display:block;flex:none;width:20px;height:20px;stroke-width:1.75;pointer-events:none}
.theme-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:100px;background:#ffffff0b;white-space:nowrap}
.theme-switch button{border:0;background:transparent;color:var(--muted);border-radius:100px;padding:7px 11px;font:500 12px HelveticaWeb,'Helvetica Neue',Arial,sans-serif;cursor:pointer}
.theme-switch button[aria-pressed=true]{background:#f5ece1;color:#292521;box-shadow:0 2px 9px #180f0a16}
:root[data-theme=light] .theme-switch{background:#ffffff35}
:root[data-theme=light] .theme-switch button[aria-pressed=true]{background:#493326;color:#fffaf4}
.theme-switch button:focus-visible{outline:2px solid #b58861;outline-offset:2px}
/* User-supplied film replaces the illustrated flight sequence. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;object-fit:cover;object-position:center 50%;background:#201b17}
.hero-overlay{z-index:-1;background:linear-gradient(180deg,#20160d91 0%,#25180c14 48%,#150f0add 100%),linear-gradient(90deg,#20180f5e,transparent 75%)}
.replay-flight{background:none;border:0;padding:0;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.replay-flight:hover{text-decoration:underline;text-underline-offset:4px}
.replay-flight:focus-visible{outline:2px solid white;outline-offset:5px}
:root[data-theme=light] .hero .glass{background:#fff5e8c7;color:#30251e;border-color:#fff8edaa}
:root[data-theme=light] .hero .glass:hover{background:#fff8eddc}
@media(max-width:900px){.header{gap:12px}.header nav{gap:15px}.header-link span{margin-left:9px}}
@media(max-width:600px){.header:not(:has(.header-section)) .header-link{display:none}.header:has(.header-section) .header-link{font-size:11px}.theme-switch button{padding:7px 8px;font-size:11px}.hero-video{object-position:center center}.hero-foot>button{display:block}.hero-foot{gap:18px}.hero-foot a{width:auto;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.replay-flight{display:inline-block}}

.hero-controls{display:flex;align-items:center;gap:22px}.sound-toggle{background:none;border:0;padding:0;color:inherit;font:inherit;font-size:12px;cursor:pointer}.sound-toggle:hover{text-decoration:underline;text-underline-offset:4px}.sound-toggle:focus-visible{outline:2px solid white;outline-offset:5px}@media(max-width:600px){.hero-controls{gap:14px}.hero-foot .hero-controls{min-width:0}.hero-controls button{font-size:11px}}

/* Both themes use the reference site's softened interior backdrop. */
body{isolation:isolate;min-height:100vh}
body::before{content:"";position:fixed;inset:-45px;z-index:-2;background:linear-gradient(110deg,#271a189e,#92563260),url('assets/reference-backdrop.webp') center/cover;filter:blur(32px);opacity:1;pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(150deg,#ad836333,transparent 40%,#160d0c70);pointer-events:none}
:root[data-theme=light] body::before{background:linear-gradient(110deg,#e9d6c333,#c29c7933),url('assets/reference-backdrop.webp') center/cover;filter:blur(32px) brightness(1.35) saturate(.85);opacity:1}
:root[data-theme=light] body::after{background:#fff4e642}
:root[data-theme=dark] body::before{background:linear-gradient(110deg,#271a189e,#92563260),url('assets/reference-backdrop.webp') center/cover;filter:blur(32px);opacity:1}
:root[data-theme=dark] body::after{background:#17171942}
@media(max-width:600px){footer>span:nth-child(2){order:initial;flex-basis:auto}}
@media print{body::before,body::after{display:none}}
/* Deeper glass surfaces and a softer backdrop, shared by both themes. */
body::before{inset:-80px;filter:blur(58px) brightness(.9)}
:root[data-theme=dark] body::before{inset:-80px;filter:blur(58px) brightness(.9)}
:root[data-theme=light] body::before{inset:-80px;filter:blur(58px) brightness(1.42) saturate(.8)}
.about-content{padding:38px 42px;border:1px solid var(--line);border-radius:30px;background:#392820d9;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 18px 52px #170e091f}
.closing{background:#392820e3;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 18px 52px #170e091f}
:root[data-theme=light] .about-content{background:#d8c2afe0;box-shadow:0 15px 40px #73533d1c}
:root[data-theme=light] .closing{background:#d5bda8e8;box-shadow:0 15px 40px #73533d1c}
:root{--cursor-tint:157,78,43}
:root[data-theme=light]{--cursor-tint:184,143,110}
.cursor-glow{position:fixed;top:0;left:0;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(var(--cursor-tint),.58) 0%,rgba(var(--cursor-tint),.34) 23%,rgba(var(--cursor-tint),.12) 48%,rgba(var(--cursor-tint),0) 70%);filter:blur(8px);opacity:0;transition:opacity .4s;will-change:transform;contain:strict}
.cursor-glow.is-visible{opacity:1}
@media(max-width:900px){.about-content{padding:30px}}
@media(max-width:600px){.about-content{padding:27px 22px;border-radius:24px}}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse),print{.cursor-glow{display:none!important}}
@media print{.about-content,.closing{background:none!important;box-shadow:none!important;backdrop-filter:none!important}}
.brief-steps{list-style:none;margin:30px 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.brief-steps li{min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#1c141025;display:flex;flex-direction:column;gap:5px}
.brief-steps li span{font-size:13px;color:var(--muted);margin-bottom:13px}
.brief-steps li strong{font:400 clamp(23px,2.2vw,31px)/1.12 Oswald}
.brief-steps li small{font-size:14px;color:var(--muted)}
.brief-explainer{color:var(--muted);font-size:16px;max-width:650px}
:root[data-theme=light] .brief-steps li{background:#fff7ed6e}
@media(max-width:720px){.brief-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-steps li{padding:15px}.brief-steps li strong{font-size:24px}}
/* Give the platform description room without changing the mobile layout. */
@media(min-width:901px){
  .about{grid-template-columns:minmax(0,1fr) minmax(0,3.4fr)}
  .about-bottom{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
  .about p{max-width:none}
}

/* Avoid a single trailing word in the platform description. */
.about-bottom p{text-wrap:pretty}

/* Custom geometric Cyrillic lettering with consistent contrast and x-height. */
.forma-wordmark{display:inline-block;width:148px;height:44px;vertical-align:middle;background:currentColor;-webkit-mask:url("/assets/forma-wordmark.svg?v=holmgard-20261013") center/contain no-repeat;mask:url("/assets/forma-wordmark.svg?v=holmgard-20261013") center/contain no-repeat}
.brand>span,.footer-logo{line-height:1}
.footer-logo{display:inline-flex;align-items:center}
/* The background monogram uses the exact same outline as the header icon. */
.tiny-mark{display:flex;align-items:flex-end;gap:0}
.tiny-mark svg{width:82px;height:100px;flex:none}
.tiny-mark .tiny-dot{font-family:Oswald,Arial,sans-serif;font-size:100px;line-height:.85}
@media(min-width:901px){
  .about{grid-template-columns:minmax(0,.78fr) minmax(0,3.62fr)}
  .about-bottom{grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:28px}
}
@media(max-width:600px){.brand .forma-wordmark{width:118px;height:35px}.footer-logo .forma-wordmark{width:131px;height:39px}}
@media(max-width:900px){.tiny-mark{display:none}}

.about-portfolio{grid-column:2;justify-self:start}.portfolio-button{font-family:inherit;color:var(--text);cursor:pointer}.about{row-gap:28px}@media(max-width:900px){.about-portfolio{grid-column:1}}@media(max-width:600px){.about-portfolio,.portfolio-button{width:100%}}
/* Make the portfolio entry a prominent action after the platform introduction. */
.about-portfolio .portfolio-button{min-width:340px;min-height:88px;padding:24px 34px;font-size:24px;gap:72px;border-color:var(--muted)}
.about-portfolio .portfolio-button span{font-size:36px}
@media(max-width:600px){.about-portfolio .portfolio-button{min-width:0;min-height:78px;padding:21px 27px;font-size:22px;gap:28px}.about-portfolio .portfolio-button span{font-size:32px}}

.direction-item{min-width:0;display:flex;flex-direction:column;gap:16px}.direction-item .project-card{width:100%}.direction-portfolio{width:100%;padding:21px 27px;font-size:18px;border-color:var(--muted)}@media(max-width:600px){.direction-item{gap:12px}.direction-portfolio{font-size:16px;padding:19px 23px}}

/* Keep the home navigation visible throughout the page. */
.forma-home>.header{position:sticky;top:12px;z-index:50;background:#392c25d9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 10px 32px #160e1726}
:root[data-theme=light] .forma-home>.header{background:#e6d6c5e8}
.forma-home main section[id]{scroll-margin-top:130px}
@media(max-width:600px){.forma-home>.header{top:8px}.forma-home main section[id]{scroll-margin-top:110px}}
/* Keyboard focus must remain visible in either color theme. */
:root[data-theme=light] a:focus-visible{outline-color:var(--text)}
:root[data-theme=light] .glass{background:var(--glass);color:var(--text);border-color:var(--line)}
:root[data-theme=light] .glass:hover{background:#fff8eddc}
