/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}@font-face{font-family:FILO Trajan;src:url(/filo-assets-r7/fonts/TrajanPro-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:FILO Trajan;src:url(/filo-assets-r7/fonts/TrajanPro-Bold.otf)format("opentype");font-weight:700;font-display:swap}:root{--ivory:#f5f3ee;--paper:#fbfaf7;--white:#fff;--ink:#f5f3ee;--muted:#f5f3ee9e;--line:#f5f3ee29;--filo-blue:#191b30;--filo-blue-raised:#20233b;--filo-gold:#a7956f;--font-editorial:"Iowan Old Style", Baskerville, "Times New Roman", serif;--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--page-pad:clamp(1.25rem, 4vw, 5rem);--section-space:clamp(6rem, 13vw, 12rem)}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--filo-blue)}body{background:var(--filo-blue);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0}section{scroll-margin-top:5.5rem}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:2px solid var(--filo-gold);outline-offset:4px}.site-header{z-index:50;top:1rem;left:var(--page-pad);right:var(--page-pad);-webkit-backdrop-filter:blur(26px)saturate(128%);backdrop-filter:blur(26px)saturate(128%);min-height:3.55rem;color:var(--white);background:linear-gradient(135deg,#f5f3ee29,#0c0c0f2e);border:1px solid #ffffff47;border-radius:1.35rem;justify-content:space-between;align-items:center;padding:.62rem .85rem .62rem 1rem;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 54px #03051233,inset 0 1px #ffffff57,inset 0 -1px #ffffff0f}.site-header:before{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(112deg,#ffffff24,#0000 30%,#ffffff06 72%);position:absolute;inset:1px}.site-header>*{z-index:1;position:relative}.wordmark{letter-spacing:.02em;align-items:center;gap:.62rem;display:flex}.wordmark>img{object-fit:contain;width:1.42rem;height:1.66rem}.wordmark-copy{align-items:baseline;gap:.5rem;display:flex}.wordmark-copy strong{font-family:"FILO Trajan", var(--font-editorial);font-size:.98rem;font-weight:400;line-height:1}.wordmark small{letter-spacing:.2em;white-space:nowrap;font-size:.44rem;line-height:1}.reactive-gold-edge:after{z-index:4;border-radius:inherit;background:radial-gradient(circle 10rem at var(--glow-x,50%) var(--glow-y,50%), #d1b470f5 0%, #a7956f75 38%, transparent 72%);content:"";opacity:0;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1px;transition:opacity .34s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.reactive-gold-edge:hover:after,.reactive-gold-edge:focus-within:after{opacity:1}.site-nav{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:clamp(1.5rem,3vw,3.25rem);font-size:.68rem;display:flex}.site-nav a{padding:.75rem 0;position:relative}.site-nav a:after{background:var(--filo-gold);content:"";transform-origin:100%;height:1px;transition:transform .32s var(--ease-out);position:absolute;bottom:.45rem;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-button{width:2.75rem;height:2.75rem;color:inherit;background:0 0;border:0;display:none}.hero{min-height:100svh;color:var(--white);background:#161720;position:relative;overflow:hidden}.hero-media,.hero-media picture,.hero-shade{position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center 53%;width:100%;height:100%;animation:hero-settle 1.5s var(--ease-out) both}.hero-shade{background:linear-gradient(#0a0d1c29 0%,#090a1514 42%,#08091294 100%)}.hero-index{top:8.2rem;right:var(--page-pad);letter-spacing:.18em;opacity:.75;font-size:.62rem;position:absolute}.glass-panel{-webkit-backdrop-filter:blur(24px)saturate(112%);backdrop-filter:blur(24px)saturate(112%);background:linear-gradient(135deg,#16172257,#ffffff14);border:1px solid #fff3;box-shadow:0 30px 80px #0508162e,inset 0 1px #ffffff29}.hero-glass{right:var(--page-pad);bottom:clamp(4.5rem,9vh,7rem);left:var(--page-pad);width:min(46rem, calc(100% - var(--page-pad) * 2));animation:hero-panel-in .88s var(--ease-out) .52s both;border-radius:clamp(1.4rem,2.5vw,2rem);padding:clamp(1.5rem,3.4vw,3.2rem);position:absolute}.hero-glass>*{opacity:0;animation:hero-copy-in .66s var(--ease-out) both}.hero-glass>.eyebrow{animation-delay:.76s}.hero-glass>h1{animation-delay:.85s}.hero-glass>.hero-bottom{animation-delay:.97s}.eyebrow,.section-kicker,.project-glass p{letter-spacing:.18em;text-transform:uppercase;font-size:.64rem;line-height:1.4}.eyebrow{color:#ffffffb8;margin:0 0 1.5rem}.hero h1{max-width:12ch;font-family:var(--font-editorial);letter-spacing:-.055em;margin:0;font-size:clamp(3.25rem,7.2vw,7.75rem);font-weight:400;line-height:.91}.hero-bottom{justify-content:space-between;align-items:end;gap:2rem;margin-top:clamp(2rem,4vw,3.75rem);display:flex}.hero-bottom>p{color:#ffffffc7;max-width:34rem;margin:0;font-size:clamp(.9rem,1.1vw,1.05rem);line-height:1.55}.text-link{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid;align-items:center;gap:1.15rem;min-height:2.75rem;padding:.45rem 0;font-size:.7rem;display:inline-flex}.text-link span{color:var(--filo-gold);transition:transform .3s var(--ease-out)}.text-link:hover span{transform:translate(3px,3px)}.filo-arrow{line-height:1;display:inline-block}.scroll-cue{right:var(--page-pad);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.58rem;display:flex;position:absolute;bottom:1.5rem}.scroll-cue i{background:#ffffff59;width:3.75rem;height:1px;display:block;overflow:hidden}.section-pad{padding:var(--section-space) var(--page-pad)}.value-comparison{color:var(--ivory);background:radial-gradient(circle at 78% 58%,#a7956f14,#0000 32rem),#111321;overflow:clip}.value-intro{grid-template-columns:minmax(0,8fr) minmax(18rem,3fr);align-items:end;gap:clamp(3rem,8vw,9rem);margin-bottom:clamp(4rem,8vw,7.5rem);display:grid}.value-intro h2{max-width:13ch;font-family:var(--font-editorial);letter-spacing:-.055em;margin:0;font-size:clamp(3.2rem,7vw,7.8rem);font-weight:400;line-height:.92}.value-intro>p{color:#f5f3eea1;margin:0;font-size:.86rem;line-height:1.7}.value-stack{gap:clamp(2rem,5vw,4.5rem);display:grid}.value-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(1rem,1.8vw,1.75rem);display:grid}.value-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#ffffff0e,#ffffff05);border:1px solid #ffffff1f;border-radius:clamp(1.35rem,2.5vw,2.2rem);width:100%;padding:clamp(1.25rem,2.4vw,2.25rem);position:relative;overflow:hidden;box-shadow:0 32px 90px #0000002e,inset 0 1px #ffffff14}.value-card.is-with{border-color:#7f9b783d}.value-bridge{text-align:center;place-items:center;min-height:clamp(16rem,27vw,24rem);padding:clamp(3rem,6vw,5rem) 0;display:grid}.value-bridge>span{color:#f5f3ee5c;letter-spacing:.17em;text-transform:uppercase;font-size:.58rem}.value-bridge p{max-width:16ch;font-family:var(--font-editorial);letter-spacing:-.05em;margin:clamp(1.5rem,3vw,2.5rem) 0;font-size:clamp(3.1rem,6vw,6.6rem);font-weight:400;line-height:.96}.value-bridge>span[data-reveal]{transform:translateY(10px)}.value-bridge p[data-reveal]{transition-duration:.76s;transform:translateY(24px)}.value-bridge p[data-reveal][data-visible=true],.value-bridge>span[data-reveal][data-visible=true]{transform:translateY(0)}.value-bridge strong{color:var(--filo-gold);font-family:"FILO Trajan", var(--font-editorial);letter-spacing:-.02em;font-weight:400}.value-bridge i{background:linear-gradient(90deg, transparent, var(--filo-gold), transparent);opacity:.7;width:min(15rem,42vw);height:1px;transition:transform 1.1s var(--ease-out) .32s;display:block;transform:scaleX(0)}.value-bridge p[data-visible=true]+i{transform:scaleX(1)}.value-card-head{justify-content:space-between;align-items:start;gap:2rem;display:flex}.value-status,.value-index,.value-result>div>span,.value-disclaimer{letter-spacing:.15em;text-transform:uppercase;font-size:.6rem}.value-status{color:#cf8178}.is-with .value-status{color:#9ab394}.value-index{color:#f5f3ee61}.value-card h3{font-family:var(--font-editorial);margin:.8rem 0 0;font-size:clamp(1.45rem,1.9vw,2.2rem);font-weight:400;line-height:1.05}.value-chart{border-bottom:1px solid #ffffff6b;border-left:1px solid #ffffff6b;height:clamp(12rem,16vw,17rem);margin-top:clamp(1.75rem,3vw,2.75rem);position:relative}.value-chart svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid line{stroke:#ffffff13;stroke-width:1px;vector-effect:non-scaling-stroke}.profit-line{fill:none;stroke:#b86b63;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #b86b6347);will-change:stroke-dashoffset}.is-with .profit-line{stroke:#7f9b78;filter:drop-shadow(0 0 4px #7f9b784d)}.chart-area{opacity:0;will-change:opacity}.profit-point{fill:#b86b63;stroke:#ffffffb8;stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 4px #b86b6370);will-change:transform, opacity;transform:scale(.72)}.is-with .profit-point{fill:#7f9b78;filter:drop-shadow(0 0 5px #7f9b787a)}.chart-axis-labels{color:#f5f3ee57;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;font-size:.52rem;display:flex;position:absolute;bottom:-1.6rem;left:0;right:0}.value-result{border-top:1px solid #ffffff1c;justify-content:space-between;align-items:end;gap:2rem;margin-top:clamp(2.75rem,4vw,3.75rem);padding-top:clamp(1.25rem,2vw,1.75rem);display:flex}.value-result>div>span{color:#f5f3ee7a}.value-result p{align-items:baseline;gap:.7rem;margin:.7rem 0 0;display:flex}.currency-count{font-family:"FILO Trajan", var(--font-editorial);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,3.75vw,4.5rem);line-height:.9}.value-result small{color:#f5f3ee6b;letter-spacing:.13em;font-size:.58rem}.value-change{color:#cf8178;letter-spacing:.1em;border:1px solid #b86b634d;border-radius:999px;padding:.7rem .85rem;font-size:.72rem}.is-with .value-change{color:#9ab394;border-color:#7f9b7857}.value-disclaimer{color:#f5f3ee5c;text-align:right;max-width:58rem;margin:2rem 0 0 auto;line-height:1.65}.section-kicker{color:var(--muted);grid-template-columns:3rem 1fr;gap:1rem;margin-bottom:clamp(3.5rem,7vw,7rem);display:grid}.section-kicker span{color:var(--filo-gold)}.section-kicker p{margin:0}.manifesto{color:var(--filo-blue);background:#e8e1d5;border-top:1px solid #191b3014;border-bottom:1px solid #191b301a}.manifesto .section-kicker{color:#191b3094}.manifesto-grid{grid-template-columns:minmax(12rem,3fr) minmax(24rem,8fr) 1fr;align-items:start;gap:clamp(2rem,6vw,7rem);display:grid}.manifesto-aside{color:#191b3094;margin:0;padding-top:.75rem;font-size:.78rem;line-height:1.65}.manifesto h2,.section-heading h2{font-family:var(--font-editorial);letter-spacing:-.05em;margin:0;font-size:clamp(2.8rem,6vw,6.5rem);font-weight:400;line-height:.98}.manifesto-copy{color:#191b30b8;max-width:42rem;margin:clamp(2.2rem,4vw,4.5rem) 0 0;font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.6}.selected{color:var(--filo-blue);background:#d8cdbd;border-bottom:1px solid #191b301f}.selected .section-kicker,.selected .editorial-pair figcaption{color:#191b3099}.section-heading{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:clamp(4rem,9vw,9rem);display:grid}.section-heading .section-kicker{margin:0}.project-feature{max-width:92rem;margin:0 auto clamp(5rem,11vw,11rem)}.project-image-wrap{background:#ddd8cd;border-radius:clamp(1.3rem,2vw,2.2rem);min-height:min(68vw,54rem);position:relative;overflow:hidden}.project-image-wrap picture{position:absolute;inset:0}.project-image{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out)}.project-image-wrap:hover .project-image{transform:scale(1.018)}.expandable-image{cursor:zoom-in;outline-offset:-4px}.zoom-hint{z-index:4;color:#ffffffc7;letter-spacing:.13em;pointer-events:none;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#191b3080;border:1px solid #fff3;border-radius:999px;padding:.65rem .8rem;font-size:.55rem;position:absolute;top:clamp(1rem,2.5vw,2.25rem);right:clamp(1rem,2.5vw,2.25rem)}.zoom-hint-dark{color:#191b30;background:#f5f3eec7;border-color:#191b3024}.project-glass{color:var(--white);border-radius:1.45rem;grid-template-columns:4rem 1fr;align-items:end;gap:1rem;padding:clamp(1.15rem,2vw,1.8rem);display:grid;position:absolute;bottom:clamp(1rem,2.5vw,2.25rem);left:clamp(1rem,2.5vw,2.25rem);right:clamp(1rem,2.5vw,2.25rem)}.project-glass>span{color:var(--filo-gold);font-family:var(--font-editorial);font-size:1.6rem}.project-glass h3{font-family:var(--font-editorial);margin:0 0 .4rem;font-size:clamp(1.65rem,3vw,3rem);font-weight:400}.project-glass p{color:#ffffffad;margin:0}.project-feature-offset{width:min(82%,72rem);margin-left:auto;margin-right:auto}.project-image-interior{min-height:min(62vw,48rem)}.editorial-pair{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:end;gap:clamp(1.5rem,5vw,6rem);max-width:88rem;margin:0 auto;display:grid}.editorial-pair figure{margin:0}.editorial-pair figure:first-child{padding-bottom:clamp(2rem,7vw,7rem)}.editorial-pair picture{background:#e5e0d6;border-radius:clamp(1.2rem,2vw,1.8rem);display:block;overflow:hidden}.editorial-image{width:100%;height:auto;transition:transform .9s var(--ease-out);display:block}.editorial-pair picture:hover .editorial-image{transform:scale(1.018)}.editorial-pair figcaption{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;gap:1rem;margin-top:1rem;font-size:.65rem;display:flex}.editorial-pair figcaption span{color:var(--filo-gold)}.residence-study{max-width:88rem;margin:clamp(7rem,13vw,13rem) auto 0}.residence-heading{grid-template-columns:3rem minmax(0,7fr) minmax(17rem,3fr);align-items:end;gap:clamp(1.25rem,4vw,5rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.residence-heading>span{color:var(--filo-gold);letter-spacing:.15em;align-self:start;font-size:.62rem}.residence-heading h3{font-family:var(--font-editorial);letter-spacing:-.05em;margin:0;font-size:clamp(2.8rem,5.8vw,6.2rem);font-weight:400;line-height:.92}.residence-heading p{max-width:28rem;color:var(--muted);margin:0;font-size:.78rem;line-height:1.7}.residence-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.4rem);display:grid}.residence-frame{grid-column:span 4;margin:0;overflow:hidden}.residence-frame.is-wide{grid-column:span 8}.residence-frame.is-motion{grid-column:span 4}.residence-frame.is-detail{grid-column:5/span 4}.residence-frame picture,.residence-frame video{background:#dcd5c8;border-radius:clamp(1rem,1.6vw,1.5rem);width:100%;display:block;overflow:hidden}.residence-frame picture{aspect-ratio:1}.residence-frame.is-wide picture{aspect-ratio:2}.residence-frame video{aspect-ratio:1;object-fit:cover}.residence-frame img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out)}.residence-frame picture:hover img{transform:scale(1.018)}.residence-frame figcaption{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-top:.8rem;font-size:.58rem}.case-study{background:var(--filo-blue);color:var(--ivory);overflow:clip}.case-intro{border-bottom:1px solid #ffffff24}.section-kicker.is-light{color:#ffffff91}.case-title-grid{grid-template-columns:minmax(0,7fr) minmax(18rem,4fr);align-items:end;gap:clamp(3rem,8vw,9rem);display:grid}.case-title-grid h2{font-family:var(--font-editorial);letter-spacing:-.055em;margin:0;font-size:clamp(3.4rem,8vw,8.7rem);font-weight:400;line-height:.9}.case-title-grid>div>p{color:#ffffffb8;max-width:31rem;margin:0 0 2.2rem;font-size:clamp(.95rem,1.35vw,1.2rem);line-height:1.65}.case-tags{flex-wrap:wrap;gap:.55rem;display:flex}.case-tags span{color:#ffffffa6;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff2b;border-radius:999px;padding:.62rem .75rem;font-size:.58rem}.case-body{padding:var(--section-space) var(--page-pad);grid-template-columns:minmax(14rem,2fr) minmax(0,8fr);gap:clamp(2rem,6vw,7rem);display:grid}.case-sticky{border-left:1px solid var(--filo-gold);flex-direction:column;justify-content:space-between;min-height:calc(100svh - 10rem);max-height:50rem;padding:1.25rem 0 0 1.25rem;display:flex;position:sticky;top:7rem}.case-code,.case-name,.case-note{margin:0}.case-code,.case-count{color:var(--filo-gold);letter-spacing:.18em;font-size:.62rem}.case-name{font-family:var(--font-editorial);margin-bottom:1rem;font-size:clamp(1.6rem,2.6vw,2.6rem)}.case-note{color:#ffffff8c;max-width:18rem;font-size:.72rem;line-height:1.65}.case-sequence{min-width:0}.plan-frame{background:var(--ivory);color:#181818;border:1px solid #ffffff21;border-radius:clamp(1.2rem,2vw,2rem);margin-bottom:clamp(3rem,8vw,8rem);overflow:hidden;box-shadow:0 36px 90px #0305163d}.plan-media{aspect-ratio:1.2;background:#f8f7f2;place-items:center;padding:clamp(1rem,3vw,3rem);display:grid;position:relative}.plan-media picture{display:contents}.plan-media img{object-fit:contain;width:100%;height:100%}.plan-frame-wide .plan-media{aspect-ratio:1.85}.plan-caption{border-top:1px solid #18181829;grid-template-columns:5.5rem minmax(10rem,1fr) minmax(12rem,1fr);align-items:baseline;gap:1rem;padding:clamp(1rem,2vw,1.6rem);display:grid}.plan-caption span{color:var(--filo-gold);letter-spacing:.14em;font-size:.62rem}.plan-caption p{font-family:var(--font-editorial);margin:0;font-size:clamp(1.3rem,2vw,2rem)}.plan-caption small{color:#77766f;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;line-height:1.5}.case-transition{aspect-ratio:1.31;background:#f8f7f2;position:relative;overflow:hidden}.case-transition picture{position:absolute;inset:0}.transition-plan{object-fit:contain;width:100%;height:100%;padding:clamp(1rem,3vw,3rem)}.transition-render{object-fit:cover;clip-path:inset(0 100% 0 0);width:100%;height:100%;transition:clip-path 2.4s cubic-bezier(.22,.72,.2,1) .22s}.transition-divider{z-index:3;opacity:0;background:#b49c6aeb;width:1px;transition:left 2.4s cubic-bezier(.22,.72,.2,1) .22s,opacity .22s .18s;position:absolute;top:0;bottom:0;left:0}.plan-to-render[data-visible=true] .transition-render{clip-path:inset(0)}.plan-to-render[data-visible=true] .transition-divider{opacity:1;left:calc(100% - 1px)}.thinking-title-grid{grid-template-columns:minmax(0,8fr) minmax(17rem,3fr);align-items:end;gap:clamp(3rem,8vw,9rem);margin-bottom:clamp(5rem,10vw,10rem);display:grid}.thinking-title-grid h2,.services-intro h2{font-family:var(--font-editorial);letter-spacing:-.055em;margin:0;font-size:clamp(3.3rem,7.3vw,8rem);font-weight:400;line-height:.92}.thinking-title-grid>p,.services-intro>p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.7}.process-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.process-list li{border-right:1px solid var(--line);min-height:18rem;padding:1.4rem clamp(1rem,2vw,1.8rem) 1.8rem}.process-list li:last-child{border-right:0}.process-list span{color:var(--filo-gold);letter-spacing:.15em;font-size:.62rem;display:block}.process-list h3{font-family:var(--font-editorial);margin:clamp(4rem,7vw,7rem) 0 1rem;font-size:clamp(1.6rem,2.4vw,2.5rem);font-weight:400}.process-list p{max-width:11rem;color:var(--muted);margin:0;font-size:.68rem;line-height:1.55}.process-list small{color:#a7956fc2;letter-spacing:.045em;max-width:12rem;margin-top:.7rem;font-size:.58rem;line-height:1.5;display:block}.process-note{color:var(--filo-gold);letter-spacing:.1em;text-align:right;text-transform:uppercase;margin:1.5rem 0 0 auto;font-size:.67rem}.services{background:var(--filo-blue-raised)}.services-grid{grid-template-columns:minmax(18rem,4fr) minmax(0,7fr);align-items:start;gap:clamp(4rem,10vw,11rem);display:grid}.services-intro{position:sticky;top:8rem}.services-intro .section-kicker{margin-bottom:clamp(3rem,6vw,5.5rem)}.services-intro h2{max-width:9ch;font-size:clamp(3rem,5vw,5.5rem)}.services-intro>p{max-width:24rem;margin-top:2.5rem}.service-list{border-bottom:1px solid var(--line)}.service-list details{border-top:1px solid var(--line)}.service-list summary{cursor:pointer;grid-template-columns:3.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:1rem;min-height:9rem;padding:1.4rem 0;list-style:none;display:grid}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{color:var(--filo-gold);letter-spacing:.14em;align-self:start;padding-top:.5rem;font-size:.62rem}.service-list h3{font-family:var(--font-editorial);margin:0 0 .7rem;font-size:clamp(1.7rem,3vw,3.25rem);font-weight:400;line-height:1}.service-list summary p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.service-list summary i{border:1px solid var(--line);width:2rem;height:2rem;transition:border-color .25s ease, transform .35s var(--ease-out);border-radius:50%;position:relative}.service-list summary i:before,.service-list summary i:after{background:var(--filo-gold);content:"";width:.7rem;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.service-list summary i:after{transform:translate(-50%,-50%)rotate(90deg)}.service-list details[open] summary i{border-color:var(--filo-gold);transform:rotate(45deg)}.service-detail{color:#f5f3eeb8;max-width:37rem;margin:-.5rem 3rem 0 4.5rem;padding:0 0 2.5rem;font-size:.9rem;line-height:1.7}.construction{color:var(--filo-blue);background:#d8cfbe;position:relative;overflow:clip}.construction:before{content:"";pointer-events:none;background:linear-gradient(90deg,#1a1f520b 1px,#0000 1px) 0 0/8.333% 100%,radial-gradient(circle at 82% 6%,#b49c6a33,#0000 24rem);position:absolute;inset:0}.construction-intro,.construction-gallery{z-index:1;position:relative}.construction-intro{padding-bottom:clamp(4rem,8vw,8rem)}.construction-title-grid{grid-template-columns:minmax(0,7fr) minmax(18rem,4fr);align-items:end;gap:clamp(3rem,8vw,9rem);display:grid}.construction-title-grid h2{max-width:10ch;font-family:var(--font-editorial);letter-spacing:-.06em;margin:0;font-size:clamp(3.8rem,8.5vw,9rem);font-weight:400;line-height:.88}.construction-title-grid>div>p{color:#13173fb3;max-width:31rem;margin:0 0 2.3rem;font-size:clamp(.9rem,1.3vw,1.12rem);line-height:1.7}.construction-phases{flex-wrap:wrap;gap:.55rem;display:flex}.construction-phases span{color:#1a1f52a8;letter-spacing:.12em;text-transform:uppercase;border:1px solid #1a1f522e;border-radius:999px;padding:.65rem .78rem;font-size:.56rem}.construction-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);padding-top:0;display:grid}.construction-shot{margin:0}.construction-shot-main{grid-column:1/span 8}.construction-shot-tall{grid-column:9/span 4;padding-top:clamp(4rem,9vw,10rem)}.construction-shot-wide{grid-column:3/span 7;margin-top:clamp(2rem,5vw,5rem)}.construction-shot picture{background:#c9bfad;border-radius:clamp(1.1rem,2vw,2rem);display:block;overflow:hidden}.construction-shot-main picture{aspect-ratio:1.48}.construction-shot-tall picture{aspect-ratio:.82}.construction-shot-wide picture{aspect-ratio:1.62}.construction-shot img{object-fit:cover;width:100%;height:100%;transition:transform .95s var(--ease-out), filter .45s ease}.construction-shot picture:hover img{filter:saturate(1.03);transform:scale(1.018)}.construction-shot figcaption{color:#1a1f52b8;grid-template-columns:2.5rem 1fr auto;align-items:baseline;gap:1rem;margin-top:1rem;display:grid}.construction-shot figcaption span{color:#8b7448;font-family:var(--font-editorial);font-size:1rem}.construction-shot figcaption p{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem}.construction-shot figcaption small{color:#1a1f5285;font-size:.62rem}.construction-statement{color:var(--filo-blue);-webkit-backdrop-filter:blur(24px)saturate(112%);backdrop-filter:blur(24px)saturate(112%);background:linear-gradient(145deg,#ffffff38,#ffffff14);border-color:#ffffff52;border-radius:1.7rem;grid-column:10/span 3;align-self:end;margin-bottom:3rem;padding:clamp(1.4rem,2.6vw,2.4rem);box-shadow:0 1.5rem 4rem #1b181317}.construction-statement span{color:#826c43;letter-spacing:.15em;text-transform:uppercase;font-size:.55rem}.construction-statement p{font-family:var(--font-editorial);margin:1.2rem 0 0;font-size:clamp(1.65rem,2.7vw,2.7rem);line-height:1.04}.construction-evidence{border-top:1px solid #1a1f5224;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4.5rem) clamp(1rem,2vw,2rem);margin-top:clamp(5rem,10vw,10rem);padding-top:clamp(3rem,6vw,5rem);display:grid}.construction-shot-evidence picture{aspect-ratio:1.15}.construction-shot-evidence.is-portrait picture{aspect-ratio:.84}.construction-shot-evidence.is-wide{grid-column:span 2}.construction-shot-evidence.is-wide picture{aspect-ratio:1.65}.contact{min-height:100svh;color:var(--white);background:#111526;position:relative;overflow:hidden}.contact-media,.contact-media picture,.contact-shade{position:absolute;inset:0}.contact-image{object-fit:cover;object-position:center;width:100%;height:100%}.contact-shade{background:linear-gradient(90deg,#0c0f24c9,#0e101d29 68%),linear-gradient(#0000 45%,#080a1866)}.contact-panel{right:var(--page-pad);bottom:clamp(2rem,6vw,5rem);left:var(--page-pad);width:min(67rem, calc(100% - var(--page-pad) * 2));border-radius:clamp(1.4rem,2.8vw,2.25rem);padding:clamp(1.6rem,4vw,4.2rem);position:absolute}.contact-panel[data-reveal]{filter:blur(4px);transition:opacity 1.25s var(--ease-out), transform 1.5s cubic-bezier(.16, 1, .3, 1), filter 1.15s var(--ease-out);transform:translateY(24px)scale(.992)}.contact-panel[data-reveal][data-visible=true]{filter:blur();transform:translateY(0)scale(1)}.contact-panel h2{max-width:13ch;font-family:var(--font-editorial);letter-spacing:-.052em;margin:0;font-size:clamp(3.2rem,6.6vw,7rem);font-weight:400;line-height:.93}.contact-copy{color:#ffffffb8;max-width:38rem;margin:clamp(2rem,4vw,3.5rem) 0 0;font-size:clamp(.88rem,1.2vw,1.05rem);line-height:1.65}.contact-actions{justify-content:space-between;align-items:end;gap:2rem;margin-top:clamp(2rem,4vw,3.5rem);display:flex}.primary-cta{background:var(--ivory);min-height:3.75rem;color:var(--filo-blue);letter-spacing:.13em;text-transform:uppercase;transition:background .26s ease, transform .26s var(--ease-out);border-radius:999px;justify-content:space-between;align-items:center;gap:2.5rem;padding:.8rem 1.15rem .8rem 1.4rem;font-size:.68rem;display:inline-flex}.primary-cta span{color:var(--filo-gold);font-size:1rem}.primary-cta:hover{background:var(--white);transform:translateY(-2px)}.contact-actions>div{text-align:right}.contact-actions>div span{color:var(--filo-gold);letter-spacing:.13em;text-transform:uppercase;font-size:.58rem}.contact-actions>div p{color:#ffffffa6;margin:.5rem 0 0;font-size:.68rem}.footer{padding:clamp(5rem, 10vw, 9rem) var(--page-pad) 2rem;background:var(--filo-blue);color:var(--ivory)}.footer-top{justify-content:space-between;align-items:end;gap:3rem;padding-bottom:clamp(5rem,11vw,10rem);display:flex}.footer-mark{width:min(48rem,68vw);display:block}.footer-mark img{mix-blend-mode:normal;width:100%;height:auto;display:block}.footer-top>p{color:#ffffff8c;max-width:19rem;margin:0;font-size:.78rem;line-height:1.6}.footer-bottom{color:#ffffff94;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #ffffff29;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding-top:1.5rem;font-size:.58rem;display:grid}.footer-bottom p{margin:0}.footer-bottom nav{gap:2rem;display:flex}.footer-bottom a{transition:color .22s}.footer-bottom a:hover{color:var(--filo-gold)}.back-top{justify-self:end;gap:1rem;display:flex}.lightbox{z-index:100;color:var(--ivory);animation:lightbox-in .32s var(--ease-out) both;-webkit-backdrop-filter:blur(18px)saturate(108%);backdrop-filter:blur(18px)saturate(108%);background:#0c0e1cf5;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;padding:clamp(1rem,2.5vw,2rem);display:grid;position:fixed;inset:0}.lightbox-bar,.lightbox-controls{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lightbox-bar>div{align-items:baseline;gap:clamp(1rem,2.5vw,2rem);display:flex}.lightbox-bar span{color:var(--filo-gold);letter-spacing:.15em;font-size:.6rem}.lightbox-bar p{font-family:"FILO Trajan", var(--font-editorial);letter-spacing:.04em;margin:0;font-size:clamp(.8rem,1.2vw,1.05rem)}.lightbox button{min-width:2.75rem;min-height:2.75rem;color:inherit;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;transition:border-color .24s ease, background .24s ease, transform .24s var(--ease-out);background:#ffffff0f;border:1px solid #ffffff2b;border-radius:999px;font-size:.6rem}.lightbox button:hover,.lightbox button:focus-visible{border-color:var(--filo-gold);background:#a7956f1f}.lightbox-bar button{align-items:center;gap:.8rem;padding:.55rem .65rem .55rem 1rem;display:flex}.lightbox-bar button i{place-items:center;width:1.75rem;height:1.75rem;font-size:1.25rem;font-style:normal;font-weight:300;display:grid}.lightbox-media{touch-action:pinch-zoom;background:#0f1121;border:1px solid #ffffff1a;border-radius:clamp(1rem,2vw,1.6rem);place-items:center;min-height:0;display:grid;overflow:auto}.lightbox-media.is-plan{background:#f8f7f2}.lightbox-media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;animation:lightbox-image-in .48s var(--ease-out) both;display:block}.lightbox-media.is-plan img{padding:clamp(.5rem,2vw,1.5rem)}.lightbox-controls button{align-items:center;gap:.8rem;padding:.65rem 1rem;display:flex}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-image-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}[data-reveal]{opacity:0;filter:blur(2px);transition:opacity .6s var(--ease-out), transform .7s var(--ease-out), filter .56s var(--ease-out);will-change:opacity, transform, filter;transform:translateY(16px)}[data-reveal][data-visible=true]{opacity:1;filter:blur();transform:translateY(0)}.project-feature[data-reveal] .project-image-wrap>picture,.editorial-pair[data-reveal] figure,.plan-frame[data-reveal] .plan-media,.plan-frame[data-reveal] .case-transition{opacity:0;filter:saturate(.82)contrast(.96);transition:opacity .82s var(--ease-out) 60ms, transform 1.02s var(--ease-out) 60ms, filter .88s var(--ease-out) 60ms;will-change:opacity, transform, filter;transform:scale(1.025)}.project-feature[data-reveal][data-visible=true] .project-image-wrap>picture,.editorial-pair[data-reveal][data-visible=true] figure,.plan-frame[data-reveal][data-visible=true] .plan-media,.plan-frame[data-reveal][data-visible=true] .case-transition{opacity:1;filter:saturate()contrast();transform:scale(1)}.editorial-pair[data-reveal] figure:nth-child(2){transition-delay:.12s}.process-list li:nth-child(2){transition-delay:40ms}.process-list li:nth-child(3){transition-delay:80ms}.process-list li:nth-child(4){transition-delay:.12s}.process-list li:nth-child(5){transition-delay:.16s}@keyframes hero-settle{0%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes hero-panel-in{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.988)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1020px){.value-pair{grid-template-columns:1fr}}@media (width<=760px){.filo-arrow{vertical-align:middle;flex:0 0 .82rem;width:.82rem;height:.82rem;font-size:0;position:relative}.filo-arrow:before,.filo-arrow:after{content:"";position:absolute}.filo-arrow:before{transform-origin:50%;background:currentColor;width:.72rem;height:1px;top:50%;left:.05rem}.filo-arrow:after{width:.34rem;height:.34rem}.filo-arrow-ne:before{transform:rotate(-45deg)}.filo-arrow-ne:after{border-top:1px solid;border-right:1px solid;top:.03rem;right:.03rem}.filo-arrow-se:before{transform:rotate(45deg)}.filo-arrow-se:after{border-bottom:1px solid;border-right:1px solid;bottom:.03rem;right:.03rem}:root{--page-pad:1rem;--section-space:6.5rem}.site-header{-webkit-backdrop-filter:blur(18px)saturate(118%);backdrop-filter:blur(18px)saturate(118%);border-radius:1rem;min-height:3.25rem;padding:.5rem .65rem .5rem .8rem;top:.6rem}.site-nav{-webkit-backdrop-filter:blur(22px)saturate(118%);backdrop-filter:blur(22px)saturate(118%);opacity:0;pointer-events:none;visibility:hidden;transform-origin:top;transition:opacity .25s ease, transform .25s var(--ease-out);background:linear-gradient(145deg,#f5f3ee26,#0c0c0f57);border:1px solid #ffffff2e;border-radius:1.15rem;gap:0;padding:.7rem;display:grid;position:absolute;top:calc(100% + .55rem);left:0;right:0;transform:translateY(-8px)scale(.98)}.site-nav.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:none}.site-nav a{min-height:3.25rem;padding:1rem}.menu-button{place-content:center;gap:.38rem;width:2.45rem;height:2.45rem;display:grid}.menu-button span{width:1.2rem;height:1px;transition:transform .26s var(--ease-out);background:currentColor;display:block}.menu-button.is-open span:first-child{transform:translateY(.22rem)rotate(45deg)}.menu-button.is-open span:last-child{transform:translateY(-.22rem)rotate(-45deg)}.hero-media{background:var(--filo-blue);height:78svh;bottom:auto;-webkit-mask-image:linear-gradient(#000 0% 78%,#0000 100%);mask-image:linear-gradient(#000 0% 78%,#0000 100%)}.hero-image{object-position:56% 50%}.hero-glass{-webkit-backdrop-filter:blur(14px)saturate(108%);backdrop-filter:blur(14px)saturate(108%);background:linear-gradient(145deg,#0f0f1245,#ffffff0e);border-radius:1.05rem;width:auto;padding:.95rem;bottom:1rem}.hero .eyebrow{letter-spacing:.15em;margin-bottom:.85rem;font-size:.52rem}.hero h1{max-width:11.5ch;font-size:clamp(2.08rem,9.35vw,2.8rem);line-height:.97}.hero-bottom{gap:.8rem;margin-top:1.15rem;display:grid}.hero-bottom>p{max-width:31ch;font-size:.76rem;line-height:1.48}.hero-bottom .text-link{gap:.75rem;min-height:2.2rem;font-size:.58rem}.scroll-cue,.hero-index{display:none}.manifesto-grid,.section-heading{grid-template-columns:1fr}.value-intro{grid-template-columns:1fr;gap:2rem}.value-intro h2{font-size:clamp(3rem,13.5vw,4.6rem)}.value-intro>p{max-width:24rem}.value-pair{grid-template-columns:1fr;gap:1.5rem}.value-card,.value-card.is-with{width:100%}.value-bridge{min-height:34rem;padding:5rem 0}.value-bridge p{font-size:clamp(3rem,14vw,4.7rem)}.value-card h3{max-width:14ch}.value-chart{aspect-ratio:1.72;height:auto;margin-top:2.75rem}.profit-line{stroke-width:3.25px}.profit-point{r:5}.chart-grid line:nth-child(6),.chart-grid line:nth-child(8),.chart-grid line:nth-child(10),.chart-grid line:nth-child(12),.chart-axis-labels:not(.is-process) span:nth-child(2),.chart-axis-labels:not(.is-process) span:nth-child(3),.chart-axis-labels.is-process span:nth-child(2),.chart-axis-labels.is-process span:nth-child(3),.chart-axis-labels.is-process span:nth-child(5){display:none}.value-result{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}.currency-count{font-size:clamp(2.35rem,11vw,3.75rem)}.value-change{justify-self:start;padding:.55rem .65rem}.value-disclaimer{text-align:left}.manifesto-aside{max-width:18rem}.manifesto h2,.section-heading h2{font-size:clamp(2.7rem,13vw,4.2rem)}.section-heading{gap:2.5rem}.project-image-wrap,.project-image-interior{border-radius:1.3rem;min-height:132vw}.project-feature-offset{width:100%}.project-glass{border-radius:1.1rem;grid-template-columns:2.8rem 1fr}.editorial-pair{grid-template-columns:1fr;gap:3rem}.editorial-pair figure:first-child{padding-bottom:0}.residence-heading{grid-template-columns:2.5rem 1fr}.residence-heading p{grid-column:2}.residence-gallery{grid-template-columns:1fr;gap:2.25rem}.residence-frame,.residence-frame.is-wide,.residence-frame.is-motion,.residence-frame.is-detail{grid-column:1}.residence-frame.is-wide picture,.residence-frame picture,.residence-frame video{aspect-ratio:1}.case-title-grid{grid-template-columns:1fr;gap:2.5rem}.case-title-grid h2{font-size:clamp(3.2rem,15vw,5rem)}.case-body{grid-template-columns:1fr;gap:4rem}.case-sticky{grid-template-columns:4rem 1fr;gap:1.5rem;min-height:0;max-height:none;padding:0 0 0 1rem;display:grid;position:static}.case-count{display:none}.case-note{max-width:21rem}.plan-frame{margin-bottom:3rem}.plan-media{aspect-ratio:1;padding:.75rem}.plan-frame-wide .plan-media{aspect-ratio:1.35}.plan-caption{grid-template-columns:3.2rem 1fr;gap:.65rem;padding:1rem}.plan-caption small{grid-column:2}.case-transition{aspect-ratio:.82}.transition-render{object-position:59% center}.thinking-title-grid{grid-template-columns:1fr;gap:2.5rem}.thinking-title-grid h2,.services-intro h2{font-size:clamp(3rem,14vw,4.7rem)}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr;gap:.65rem;min-height:0;padding:1.5rem 0;display:grid}.process-list li:last-child{border-bottom:0}.process-list h3{margin:0}.process-list p{grid-column:2;max-width:18rem}.process-note{text-align:left}.services-grid{grid-template-columns:1fr;gap:4.5rem}.services-intro{position:static}.service-list summary{grid-template-columns:2.7rem minmax(0,1fr) 2.25rem;min-height:7.5rem}.service-list h3{font-size:clamp(1.7rem,8vw,2.25rem)}.service-detail{margin:-.2rem 1rem 0 3.7rem}.construction-title-grid{grid-template-columns:1fr;gap:2.5rem}.construction-title-grid h2{font-size:clamp(3.2rem,15vw,5rem)}.construction-gallery{grid-template-columns:1fr;gap:3rem}.construction-shot-main,.construction-shot-tall,.construction-shot-wide,.construction-statement{grid-column:1;margin:0;padding-top:0}.construction-shot-main picture,.construction-shot-tall picture,.construction-shot-wide picture{aspect-ratio:1}.construction-shot figcaption{grid-template-columns:2.2rem 1fr;gap:.7rem}.construction-shot figcaption small{grid-column:2}.construction-statement{margin-top:.5rem;margin-bottom:0}.construction-evidence{grid-template-columns:1fr;gap:3rem;margin-top:3rem}.construction-shot-evidence,.construction-shot-evidence.is-wide{grid-column:1}.construction-shot-evidence picture,.construction-shot-evidence.is-portrait picture,.construction-shot-evidence.is-wide picture{aspect-ratio:1}.contact{align-items:flex-end;min-height:51rem;display:flex}.contact-image{object-position:62% center}.contact-shade{background:linear-gradient(#0d102429 28%,#080a1ad1)}.contact-panel{-webkit-backdrop-filter:blur(16px)saturate(108%);backdrop-filter:blur(16px)saturate(108%);border-radius:1.35rem;width:calc(100% - 2rem);margin:9rem 1rem 1rem;padding:1.35rem;position:relative;bottom:auto;left:auto;right:auto}.contact-panel h2{font-size:clamp(3rem,13.8vw,4.5rem)}.contact-actions{gap:1.4rem;display:grid}.primary-cta{width:100%}.contact-actions>div{text-align:left}.footer-top{align-items:start;display:grid}.footer-mark{width:min(100%,27rem)}.footer-bottom{grid-template-columns:1fr;gap:1.5rem}.footer-bottom nav{flex-wrap:wrap;gap:1rem 1.5rem}.back-top{justify-self:start}.zoom-hint{padding:.55rem .7rem;top:.8rem;right:.8rem}.lightbox{gap:.75rem;padding:.75rem}.lightbox-bar p{max-width:12rem;line-height:1.3}.lightbox-bar button{padding-left:.75rem}.lightbox-media{border-radius:1rem}.lightbox-controls button span{display:none}.lightbox-controls button{padding:.65rem 1rem;font-size:1rem}}.site-nav .header-cta{background:#ffffff1f;border:1px solid #ffffff47;border-radius:999px;align-items:center;min-height:2.55rem;padding:.75rem 1.15rem;display:inline-flex;box-shadow:inset 0 1px #fff3}.site-nav .header-cta:after{display:none}.site-nav .header-cta:hover{background:#a7956f47}.trust-hero{min-height:100svh;color:var(--white);background:#101222;position:relative;overflow:hidden}.trust-hero-collage{position:absolute;inset:0}.trust-plan,.trust-photo{animation:trustAssetIn 1.1s var(--ease-out) both;border:1px solid #ffffff2e;border-radius:clamp(1rem,1.8vw,2rem);position:absolute;overflow:hidden;box-shadow:0 28px 70px #03051257}.trust-plan picture,.trust-photo picture,.trust-plan img,.trust-photo img{width:100%;height:100%;display:block}.trust-plan img{object-fit:cover;filter:sepia(.12)contrast(.92)}.trust-photo img{object-fit:cover}.trust-plan>span,.trust-photo>span{z-index:2;color:#fffc;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10122294;border-radius:999px;padding:.45rem .65rem;font-size:.52rem;position:absolute;bottom:.9rem;left:1rem}.trust-plan-detail{opacity:.76;width:36vw;height:22vh;animation-delay:.16s;bottom:2.8rem;left:27vw}.trust-photo-main{width:min(35vw,38rem);height:min(100svh - 10rem,52rem);min-height:36rem;animation-delay:80ms;top:6.5rem;right:4.5vw}.trust-hero-shade{background:linear-gradient(90deg,#0a0c1af0 0%,#0a0c1a80 45%,#0a0c1a14 76%),linear-gradient(#0000 56%,#0a0c1ab3);position:absolute;inset:0}.trust-hero-copy{z-index:3;left:var(--page-pad);width:min(40rem,40vw);animation:trustCopyIn .95s .52s var(--ease-out) both;border-radius:1.8rem;padding:clamp(1.5rem,3vw,2.8rem);position:absolute;bottom:clamp(5rem,9vh,7rem)}.trust-hero-copy h1{font-family:var(--font-editorial);letter-spacing:-.055em;margin:0;font-size:clamp(4.6rem,8.5vw,9rem);font-weight:400;line-height:.82}.trust-hero-copy>div{justify-content:space-between;align-items:end;gap:2rem;margin-top:2rem;display:flex}.trust-hero-copy>div>p{color:#ffffffb8;max-width:31ch;margin:0;font-size:.9rem;line-height:1.55}.trust-proof{z-index:3;right:var(--page-pad);color:#ffffff94;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:1rem;font-size:.55rem;display:flex;position:absolute;bottom:2rem}.trust-proof i{background:#a7956fa6;width:3rem;height:1px}.selected-condensed .section-heading{margin-bottom:clamp(3rem,6vw,6rem)}.selected-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);max-width:96rem;margin:auto;display:grid}.selected-pair .project-feature{width:100%;margin:0}.selected-pair .project-image-wrap{min-height:min(45vw,42rem)}.selected-pair .project-glass{grid-template-columns:2.5rem 1fr}@keyframes trustAssetIn{0%{opacity:0;filter:blur(8px);transform:scale(.975)translateY(18px)}to{opacity:1;filter:none;transform:none}}@keyframes trustCopyIn{0%{opacity:0;filter:blur(7px);transform:translateY(18px)}to{opacity:1;filter:none;transform:none}}@media (width<=760px){.site-header{overflow:visible}.site-nav .header-cta{color:var(--filo-blue);background:var(--ivory);justify-content:center;margin-top:.35rem}.trust-hero{min-height:61rem}.trust-photo-main{width:auto;height:29rem;min-height:0;top:4.85rem;left:1rem;right:1rem}.trust-plan-main{width:64vw;height:14.5rem;top:25.5rem;left:1.4rem}.trust-plan-detail{display:none}.trust-plan>span,.trust-photo>span{font-size:.42rem;bottom:.6rem;left:.65rem}.trust-hero-shade{background:linear-gradient(#0a0c1a14 28%,#0a0c1ae6 58%,#0a0c1afc 100%)}.trust-hero-copy{border-radius:1.3rem;width:auto;padding:1.25rem;bottom:2rem;left:1rem;right:1rem}.trust-hero-copy h1{font-size:clamp(3.7rem,18vw,5rem);line-height:.86}.trust-hero-copy>div{gap:1rem;margin-top:1.35rem;display:grid}.trust-hero-copy>div>p{font-size:.78rem}.trust-proof{display:none}.selected-pair{grid-template-columns:1fr}.selected-pair .project-image-wrap{min-height:31rem}.site-nav{-webkit-backdrop-filter:blur(20px)saturate(108%);backdrop-filter:blur(20px)saturate(108%);transition:opacity .52s ease, transform .62s var(--ease-out), visibility 0s linear .62s;background:linear-gradient(145deg,#1f2133f7,#121422f2);border-color:#ffffff3d;transform:translateY(-14px)scale(.985);box-shadow:0 24px 70px #0507146b,inset 0 1px #ffffff1f}.site-nav.is-open{visibility:visible;opacity:1;transition-delay:0s;transform:translateY(0)scale(1)}.site-nav a{opacity:0;transition:opacity .36s ease, transform .48s var(--ease-out);transform:translateY(-8px)}.site-nav.is-open a{opacity:1;transform:translateY(0)}.site-nav.is-open a:first-child{transition-delay:.1s}.site-nav.is-open a:nth-child(2){transition-delay:.16s}.site-nav.is-open a:nth-child(3){transition-delay:.22s}.site-nav.is-open a:nth-child(4){transition-delay:.28s}.menu-button span{transition:transform .43s var(--ease-out), opacity .3s ease}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;filter:none;transform:none}.profit-line{stroke-dashoffset:0;animation:none!important}.chart-area,.profit-point{opacity:1}.profit-point{transform:scale(1)}.hero-glass,.hero-glass>*{animation-delay:0s!important}.transition-render{clip-path:inset(0)}.transition-divider{display:none}}.vision-intro{padding:clamp(4rem, 6vw, 6rem) var(--page-pad) clamp(2.5rem, 4vw, 4rem);color:var(--ivory);background:radial-gradient(circle at 70% 15%,#a7956f2e,#0000 28rem),linear-gradient(#17192b 0%,#111321 100%);place-items:center;display:grid}.vision-glass{isolation:isolate;background:radial-gradient(circle 25rem at var(--glow-x,18%) var(--glow-y,0%), #d1b4701a, transparent 66%), linear-gradient(135deg, #ffffff1b, #ffffff08);-webkit-backdrop-filter:blur(17px)saturate(112%);backdrop-filter:blur(17px)saturate(112%);width:min(68rem,86vw);transition:border-color .42s ease, box-shadow .52s var(--ease-out), background-color .52s ease;border:1px solid #ffffff2e;border-radius:clamp(1.6rem,2.5vw,2.35rem);padding:clamp(2rem,3.2vw,3.25rem) clamp(2rem,4vw,4rem);position:relative;overflow:hidden;box-shadow:0 24px 70px #0406142e,inset 0 1px #ffffff14}.vision-glass:before{z-index:-1;content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#e9d29c21,#0000);width:34%;position:absolute;top:-55%;bottom:-55%;left:-30%;transform:translate(-140%)rotate(10deg)}.vision-glass:hover,.vision-glass:focus-within{border-color:#d1b47057;box-shadow:0 28px 78px #0406143d,0 0 42px #a7956f17,inset 0 1px #ffffff21}.vision-glass[data-reveal]{filter:blur(6px);transition:opacity .76s var(--ease-out), transform .92s var(--ease-out), filter .78s var(--ease-out), border-color .42s ease, box-shadow .52s var(--ease-out);transform:translateY(20px)scale(.988)}.vision-glass[data-reveal][data-visible=true]{filter:blur();transform:translateY(0)scale(1)}.vision-glass[data-reveal][data-visible=true]:before{animation:vision-sheen-in 1.25s var(--ease-out) .18s both}.vision-glass[data-reveal]>*{z-index:1;opacity:0;transition:opacity .62s var(--ease-out), transform .72s var(--ease-out);position:relative;transform:translateY(11px)}.vision-glass[data-reveal][data-visible=true]>h2{opacity:1;transition-delay:.21s;transform:translateY(0)}.vision-glass[data-reveal][data-visible=true]>p{opacity:1;transition-delay:.35s;transform:translateY(0)}.vision-glass h2{font-family:var(--font-editorial);letter-spacing:-.045em;margin:0 0 clamp(1rem,1.7vw,1.45rem);font-size:clamp(2.25rem,3.7vw,4rem);font-weight:400;line-height:.95}.vision-glass p{color:#f4efe2b3;max-width:69ch;margin:0;font-size:clamp(.78rem,1vw,.95rem);line-height:1.72}@keyframes vision-sheen-in{0%{opacity:0;transform:translate(-140%)rotate(10deg)}28%{opacity:.9}to{opacity:0;transform:translate(470%)rotate(10deg)}}.profile-section{color:var(--filo-blue);background:#f1ede4}.profile-heading{grid-template-columns:.55fr 1fr .7fr;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.profile-heading h2{max-width:12ch;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.92}.profile-heading>p{color:#191b30a8;max-width:25ch;line-height:1.6}.profile-grid{border-top:1px solid #191b3029;border-bottom:1px solid #191b3029;grid-template-columns:repeat(3,1fr);display:grid}.profile-grid article{border-right:1px solid #191b3029;min-height:15rem;padding:clamp(1.4rem,2.5vw,2.4rem)}.profile-grid article:last-child{border-right:0}.profile-grid span{color:var(--filo-gold);letter-spacing:.16em;font-size:.65rem}.profile-grid h3{font-family:var(--font-editorial);margin:3.7rem 0 .8rem;font-size:clamp(2rem,3vw,3.3rem);font-weight:400}.profile-grid p{color:#191b30ad;max-width:31ch;font-size:.86rem;line-height:1.65}.output-list{grid-template-columns:repeat(2,1fr);align-content:stretch;display:grid}.assessment-questions.output-list p{min-height:5.25rem;font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-right:1px solid #f4efe221;align-items:center;padding:1rem 1.25rem;font-size:.72rem;display:flex}.assessment-questions.output-list p:nth-child(2n){border-right:0}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.35rem;display:flex}.hero-actions .primary-cta{color:#191b30;background:#f4efe2eb;border-color:#f4efe2b3}.assessment{color:#f4efe2;background:#191b30;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,9rem);display:grid}.assessment-intro h2{max-width:10ch;margin:1rem 0 1.5rem;font-size:clamp(3.4rem,6.5vw,7rem);line-height:.9}.assessment-intro>p:last-child{color:#f4efe2b3;max-width:44ch;line-height:1.75}.assessment-body{border:1px solid #f4efe22e;border-radius:1.5rem;grid-template-columns:minmax(0,1fr) minmax(11rem,.55fr);align-self:end;display:grid;overflow:hidden}.assessment-questions p{font-family:var(--font-serif);border-bottom:1px solid #f4efe221;margin:0;padding:1.25rem 1.5rem;font-size:clamp(1.2rem,1.8vw,1.75rem)}.assessment-questions p:last-child{border-bottom:0}.assessment-outcome{color:#191b30;background:#a7956f;flex-direction:column;justify-content:center;gap:.7rem;padding:1.5rem;display:flex}.assessment-outcome>span{letter-spacing:.18em;text-transform:uppercase;margin-bottom:.6rem;font-size:.62rem}.assessment-outcome strong{font-family:var(--font-serif);border-bottom:1px solid #191b3047;padding-bottom:.55rem;font-size:clamp(1.8rem,3vw,3.1rem);font-weight:400}.assessment-outcome small{margin-top:1rem;font-size:.65rem;line-height:1.5}.decision-framework{background:var(--paper);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,9rem);display:grid}.decision-copy h2{max-width:11ch;margin:1rem 0 1.5rem;font-size:clamp(3.2rem,6vw,6.5rem);line-height:.9}.decision-copy>p:last-child{color:#191b30ad;max-width:48ch;line-height:1.75}.decision-grid{border-top:1px solid #191b302e;border-left:1px solid #191b302e;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;display:grid}.decision-grid div{border-bottom:1px solid #191b302e;border-right:1px solid #191b302e;justify-content:space-between;align-items:flex-end;min-height:8.5rem;padding:1.25rem;transition:color .35s,background-color .35s;display:flex}.decision-grid div:hover{color:#f4efe2;background:#20233b}.decision-grid span{color:var(--filo-gold);letter-spacing:.16em;font-size:.62rem}.decision-grid p{font-family:var(--font-serif);font-size:clamp(1.45rem,2.4vw,2.5rem)}.alliances-heading>p{color:#191b30ad;text-align:center;max-width:60ch;margin:1.5rem auto 0;line-height:1.7}.contact-form-card>p:not(.eyebrow){color:#f4efe2b3;max-width:52ch;margin:0 0 1.5rem;line-height:1.65}@media (width<=900px){.profile-heading,.profile-grid{grid-template-columns:1fr}.profile-grid article{border-bottom:1px solid #191b3029;border-right:0;min-height:11rem}.profile-grid article:last-child{border-bottom:0}.profile-grid h3{margin-top:2.2rem}.assessment,.decision-framework{grid-template-columns:1fr}}@media (width<=760px){.vision-intro{padding:3rem var(--page-pad) 2rem}.vision-glass{border-radius:1.6rem;width:100%;padding:1.75rem 1.5rem 1.9rem}.vision-glass h2{margin-bottom:.9rem;font-size:clamp(2.1rem,9vw,3rem)}.vision-glass p{font-size:.75rem;line-height:1.65}.profile-heading{gap:1.1rem}.profile-heading h2{font-size:clamp(2.7rem,12vw,4rem)}.profile-grid p{font-size:.82rem}.assessment-questions.output-list p{min-height:4.6rem;font-size:.61rem}.hero-sequence .trust-hero-copy h1{max-width:12ch;font-size:clamp(2.25rem,10.5vw,3.25rem)}.hero-sequence .trust-hero-copy .eyebrow{max-width:34ch;line-height:1.45}.hero-actions{gap:.7rem}.hero-actions .primary-cta{padding:.75rem .9rem;font-size:.58rem}.hero-actions .text-link{font-size:.58rem}.assessment-intro h2,.decision-copy h2{font-size:clamp(2.65rem,12vw,3.9rem)}.assessment-body{grid-template-columns:1fr}.assessment-outcome{min-height:18rem}.decision-grid div{min-height:7rem;padding:1rem}.wordmark small{white-space:nowrap;max-width:12.5rem}}.trust-plan img{object-fit:contain;filter:sepia(.08)contrast(.94);background:#f4f2ec;padding:clamp(.7rem,1.5vw,1.35rem)}.trust-plan-main{opacity:.82;width:54vw;height:29vh;top:7rem;left:4vw}.trust-plan-detail{opacity:.76;width:34vw;height:21vh;bottom:2.5rem;left:29vw}.trust-photo-main{width:44vw;height:calc(100svh - 10rem);min-height:34rem;top:6.5rem;right:4vw}.trust-photo-main img{object-position:center 42%}.trust-hero-copy{width:min(47rem,48vw);bottom:clamp(4rem,7vh,6rem)}.trust-hero-copy h1{max-width:10ch;font-size:clamp(3.7rem,6.25vw,7rem);line-height:.9}.value-comparison{padding-top:clamp(7rem,10vw,10rem)}.value-comparison>[data-reveal] .section-kicker{margin-bottom:1.5rem}.value-bridge{min-height:0;padding:clamp(2rem,4vw,3.5rem) 0 clamp(4rem,7vw,6rem)}.value-bridge h2{max-width:16ch;font-family:var(--font-editorial);letter-spacing:-.05em;margin:clamp(1.25rem,2vw,2rem) 0;font-size:clamp(3.1rem,5.6vw,6rem);font-weight:400;line-height:.95}.value-bridge h2 strong{color:var(--filo-gold);font-family:"FILO Trajan", var(--font-editorial);letter-spacing:-.02em;font-weight:400}.value-bridge h2[data-visible=true]+i{transform:scaleX(1)}.value-metrics{border-top:1px solid #ffffff1c;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.4rem 0 0;padding:1.25rem 0 0;display:grid}.value-metrics>div{border-right:1px solid #ffffff1a;padding:0 .9rem}.value-metrics>div:first-child{padding-left:0}.value-metrics>div:last-child{border-right:0;padding-right:0}.value-metrics dt{color:#f5f3ee6b;letter-spacing:.11em;text-transform:uppercase;font-size:.5rem}.value-metrics dd{font-family:"FILO Trajan", var(--font-editorial);font-variant-numeric:tabular-nums;margin:.5rem 0 0;font-size:clamp(.95rem,1.3vw,1.25rem)}.build-proof{color:var(--filo-blue);background:#d9cfbf;border-top:1px solid #191b301a}.build-proof-head{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(3rem,6vw,5rem);display:flex}.build-proof-head .section-kicker{color:#191b3094;justify-content:center;width:auto;margin:0}.build-proof-head h2{max-width:15ch;font-family:var(--font-editorial);letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,5.2vw,5.6rem);font-weight:400;line-height:.94}.build-proof-head>p{color:#191b30ad;text-wrap:balance;max-width:44rem;margin:0;font-size:.78rem;line-height:1.65}.build-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);display:grid}.build-proof-grid figure{margin:0}.build-proof-grid picture{aspect-ratio:4/3;background:#c8bdab;border-radius:clamp(1rem,1.7vw,1.6rem);display:block;overflow:hidden}.build-proof-grid img{object-fit:cover;width:100%;height:100%;transition:transform .85s var(--ease-out), filter .4s ease}.build-proof-grid picture:hover img{filter:saturate(1.04);transform:scale(1.018)}.build-proof-grid figcaption{color:#191b30ad;letter-spacing:.12em;text-transform:uppercase;gap:1rem;margin-top:.9rem;font-size:.6rem;display:flex}.build-proof-grid figcaption span{color:#826c43}.build-proof-grid figcaption p{margin:0}.thinking{background:radial-gradient(circle at 82% 18%, #a7956f1a, transparent 28rem), var(--filo-blue)}.thinking>[data-reveal] .section-kicker{margin-bottom:clamp(2.5rem,4vw,4rem)}.thinking-title-grid{grid-template-columns:minmax(0,7fr) minmax(17rem,3fr);margin-bottom:clamp(3.5rem,6vw,5.5rem)}.thinking-title-grid h2{max-width:12ch;font-size:clamp(3rem,5.4vw,5.8rem);line-height:.96}.process-list li{min-height:16rem;padding-top:1.25rem;position:relative}.process-icon{width:2.65rem;height:2.65rem;color:var(--filo-gold);margin-top:clamp(2rem,3.5vw,3.5rem);display:block}.process-list h3{margin:1.25rem 0 .75rem}.services{isolation:isolate;background:#17192a;position:relative;overflow:hidden}.services-media,.services-shade{z-index:-2;position:absolute;inset:0}.services-media picture,.services-media img{width:100%;height:100%;display:block}.services-media img{object-fit:cover;object-position:center 48%;filter:blur(4px)grayscale(.3)brightness(.43)saturate(.78);transform:scale(1.035)}.services-shade{z-index:-1;background:linear-gradient(90deg,#121426f2 0%,#121426d1 48%,#121426e6 100%),linear-gradient(#0000 45%,#121426eb)}.case-body{grid-template-columns:minmax(13rem,1.6fr) minmax(0,8.4fr);padding-top:clamp(7rem,10vw,10rem)}.case-name{margin:0 0 1rem;font-weight:400}.case-sequence{max-width:88rem}.plan-frame{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.plan-media,.plan-frame-wide .plan-media,.case-transition{aspect-ratio:auto;width:100%;height:min(70svh,48rem);min-height:34rem}.transition-render{object-fit:contain;background:#121526}.selected-condensed{padding-top:clamp(4.5rem,7vw,6.5rem);padding-bottom:clamp(4.5rem,7vw,6.5rem)}.selected-condensed .section-heading{align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}.selected-condensed .section-heading h2{max-width:12ch;font-size:clamp(3rem,5.2vw,5.4rem)}.selected-pair .project-image-wrap,.selected-pair .project-image-interior{height:clamp(22rem,35vw,30rem);min-height:0}.selected-pair .project-glass{border-radius:1.2rem;padding:clamp(1rem,1.5vw,1.35rem)}.selected-pair .project-glass h3{font-size:clamp(1.45rem,2vw,2.1rem)}.alliances{color:var(--filo-blue);background:#e7dfd2;border-bottom:1px solid #191b301f}.alliances-heading{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:flex}.alliances-heading .section-kicker{color:#191b3094;justify-content:center;width:auto;margin:0}.alliances-heading h2{max-width:15ch;font-family:var(--font-editorial);letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(3rem,5.2vw,5.4rem);font-weight:400;line-height:.94}.alliances-grid{border-top:1px solid #191b3021;border-bottom:1px solid #191b3021;grid-template-columns:repeat(6,minmax(0,16rem));justify-content:center;max-width:96rem;margin:0 auto;display:grid}.alliance-partner{border-left:1px solid #191b3021;place-items:center;width:100%;min-height:clamp(12rem,21vw,19rem);margin:0;padding:clamp(1.5rem,3vw,2.5rem);display:grid}.alliance-partner:last-child{border-right:1px solid #191b3021}.alliance-partner img{object-fit:contain;opacity:.78;filter:grayscale()saturate(0)contrast(.9);width:min(100%,14.5rem);max-width:none;height:5.25rem;max-height:none;transition:opacity .35s ease, transform .5s var(--ease-out), filter .35s ease;display:block}.alliance-partner:hover img{opacity:.9;filter:grayscale()saturate(0)contrast(.96);transform:scale(1.015)}.contact-form-section{background:radial-gradient(circle at 18% 35%, #a7956f1f, transparent 26rem), var(--filo-blue);grid-template-columns:minmax(18rem,.9fr) minmax(32rem,1.1fr);align-items:center;gap:clamp(3rem,7vw,8rem);min-height:auto;display:grid}.contact-brand{justify-items:center;gap:1.5rem;display:grid}.contact-brand img{width:min(100%,31rem);height:auto;display:block}.contact-brand p{color:#ffffff94;text-align:center;max-width:29rem;margin:0;font-size:.78rem;line-height:1.65}.contact-form-card{border-radius:clamp(1.35rem,2vw,2rem);padding:clamp(1.5rem,3vw,2.8rem)}.contact-form-card h2{max-width:12ch;font-family:var(--font-editorial);letter-spacing:-.05em;margin:0;font-size:clamp(2.6rem,4.3vw,4.8rem);font-weight:400;line-height:.94}.contact-form-card form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.contact-form-card label{gap:.55rem;display:grid}.contact-form-card label>span{color:#ffffff94;letter-spacing:.13em;text-transform:uppercase;font-size:.52rem}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;min-height:3.2rem;color:var(--ivory);font:inherit;background:#ffffff0e;border:1px solid #ffffff2b;border-radius:.85rem;outline:0;padding:.85rem .95rem;font-size:.78rem;transition:border-color .22s,background .22s}.contact-form-card select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.contact-form-card select option{background:var(--ivory);color:var(--filo-blue)}.contact-form-card textarea{resize:vertical;min-height:7rem}.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:var(--filo-gold);background:#ffffff16}.contact-form-card textarea::placeholder{color:#ffffff52}.contact-message,.contact-client{grid-column:1/-1}.contact-form-card .primary-cta{cursor:pointer;border:0;min-width:14rem}.form-status{color:#ffffff73;align-self:center;margin:0;font-size:.62rem;line-height:1.5}.contact-live-link{color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #a7956fb3;margin-top:1.4rem;padding-bottom:.25rem;font-size:.62rem;display:inline-flex}.footer{padding-top:2rem}@media (width>=900px){.value-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.trust-hero{min-height:57rem}.trust-photo-main{width:auto;height:25.5rem;min-height:0;top:4.8rem;left:1rem;right:1rem}.trust-photo-main img{object-position:center 39%}.trust-plan-main{width:calc(100% - 2.5rem);height:10rem;top:25rem;left:1.25rem}.trust-plan-detail{width:61vw;height:7.5rem;display:block;inset:33.5rem 1.25rem auto auto}.trust-hero-copy{width:auto;bottom:1rem;left:1rem;right:1rem}.trust-hero-copy h1{max-width:12ch;font-size:clamp(2.9rem,13.2vw,4rem);line-height:.91}.trust-hero-copy>div{margin-top:1rem}.value-comparison{padding-top:6.5rem}.value-bridge{min-height:0;padding:1rem 0 4rem}.value-bridge h2{font-size:clamp(3rem,13.5vw,4.4rem)}.value-metrics{grid-template-columns:1fr}.value-metrics>div{border-bottom:1px solid #ffffff14;border-right:0;justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.value-metrics>div:last-child{border-bottom:0}.value-metrics dd{margin:0}.build-proof-head{gap:1rem}.build-proof-head h2{font-size:clamp(2.9rem,13vw,4.2rem)}.build-proof-head>p{max-width:28rem}.build-proof-grid{grid-template-columns:1fr;gap:2.4rem}.thinking-title-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.thinking-title-grid h2{font-size:clamp(3rem,13.5vw,4.35rem)}.process-list li{grid-template-columns:2.5rem 2.75rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1.2rem 0}.process-icon{width:2.35rem;height:2.35rem;margin:0}.process-list h3{margin:0}.process-list p{grid-column:3;margin-top:-.4rem}.process-list small{grid-column:3;max-width:19rem;margin-top:-.25rem}.process-note{margin-top:1.75rem;line-height:1.65}.services-media img{object-position:62% center}.services-shade{background:#121426e0}.case-body{grid-template-columns:minmax(0,1fr);gap:2.75rem;padding:6.5rem 1rem 5rem}.case-sticky{min-height:0;max-height:none;padding:.35rem 0 .35rem 1rem;display:block;position:static}.case-code{margin-bottom:1rem}.case-name{max-width:11ch;margin-bottom:.75rem;font-size:clamp(2.15rem,10vw,3rem);line-height:.96}.case-note{max-width:26rem;font-size:.72rem;line-height:1.55}.case-count{display:none}.case-sequence{width:100%;max-width:none}.plan-frame{border-radius:1.25rem;width:100%;margin-bottom:1.5rem}.plan-media,.plan-frame-wide .plan-media,.case-transition{aspect-ratio:1.08;height:auto;min-height:0}.plan-media{padding:.75rem}.plan-media img{object-fit:contain;width:100%;height:100%}.plan-caption{grid-template-columns:2.35rem minmax(0,1fr);gap:.35rem .85rem;padding:1.15rem 1rem 1.25rem}.plan-caption p{min-width:0;font-size:clamp(1.45rem,7.5vw,2rem);line-height:.98}.plan-caption small{letter-spacing:.09em;overflow-wrap:anywhere;grid-column:2;min-width:0;font-size:.54rem;line-height:1.45}.zoom-hint{padding:.55rem .7rem;font-size:.5rem;top:.65rem;right:.65rem}.selected-condensed .section-heading h2{font-size:clamp(2.9rem,12.5vw,4.1rem)}.selected-pair .project-image-wrap,.selected-pair .project-image-interior{height:24rem;min-height:0}.contact-form-section{grid-template-columns:1fr;gap:3rem;padding-top:6.5rem}.contact-brand img{width:min(82vw,23rem)}.contact-form-card form{grid-template-columns:1fr}.contact-message{grid-column:1}.contact-form-card .primary-cta{width:100%}.form-status{min-height:2rem}}.site-header{min-height:5rem;transition:min-height .42s var(--ease-out), padding .42s var(--ease-out), border-radius .42s var(--ease-out), background .42s ease, box-shadow .42s ease;border-radius:1.6rem;padding:.85rem 1.2rem .85rem 1.35rem}.wordmark,.wordmark>img,.wordmark-copy,.wordmark-copy strong,.wordmark small,.site-nav,.site-nav .header-cta,.menu-button{transition:width .42s var(--ease-out), height .42s var(--ease-out), gap .42s var(--ease-out), padding .42s var(--ease-out), font-size .42s var(--ease-out), letter-spacing .42s var(--ease-out)}.wordmark{gap:.94rem}.wordmark>img{width:2.48rem;height:2.9rem}.wordmark-copy{gap:.82rem}.wordmark-copy strong{font-size:1.5rem}.wordmark small{letter-spacing:.18em;font-size:.58rem}.site-nav{gap:clamp(1.8rem,3.3vw,3.8rem);font-size:.8rem}.site-nav .header-cta{padding:.9rem 1.35rem}.site-header.is-compact{border-radius:1.35rem;min-height:3.55rem;padding:.62rem .85rem .62rem 1rem}.site-header.is-compact .wordmark{gap:.62rem}.site-header.is-compact .wordmark>img{width:1.42rem;height:1.66rem}.site-header.is-compact .wordmark-copy{gap:.48rem}.site-header.is-compact .wordmark-copy strong{font-size:.98rem}.site-header.is-compact .wordmark small{letter-spacing:.16em;font-size:.4rem}.site-header.is-compact .site-nav{gap:clamp(1.5rem,3vw,3.25rem);font-size:.68rem}.site-header.is-compact .site-nav .header-cta{padding:.75rem 1.15rem}.hero-sequence{isolation:isolate;background:#101222;min-height:100svh}.hero-scenes,.hero-scene,.hero-scene img{width:100%;height:100%;position:absolute;inset:0}.hero-scenes{z-index:-3;overflow:hidden}.hero-scene{opacity:0;will-change:opacity;margin:0}.hero-scene img{object-fit:cover;display:block;transform:scale(1.012)}.hero-scene picture{display:contents}.hero-scene-render{animation:15s ease-in-out infinite heroRenderCycle}.hero-scene-construction{animation:15s ease-in-out infinite heroConstructionCycle}.hero-scene-render img{object-position:center 54%}.hero-scene-construction img{object-position:center 44%;filter:contrast(1.03)}.hero-sequence .trust-hero-shade{z-index:-2;background:radial-gradient(circle,#0a0c1a2e 0%,#0a0c1a7a 72%),linear-gradient(#0a0c1a47 0%,#0a0c1a1f 43%,#0a0c1aa3 100%)}.hero-sequence .trust-hero-copy{width:min(58rem, calc(100% - var(--page-pad) * 2));text-align:center;animation:heroSequenceCopyIn .95s .42s var(--ease-out) both;justify-items:center;padding:clamp(1.75rem,3.5vw,3.4rem);display:grid;inset:51% auto auto 50%;transform:translate(-50%,-50%)}.hero-sequence .trust-hero-copy .eyebrow{margin-bottom:1.35rem}.hero-sequence .trust-hero-copy h1{max-width:11ch;margin:0 auto;font-size:clamp(3.7rem,7vw,7.4rem);line-height:.9}.hero-sequence .trust-hero-copy>div{justify-items:center;gap:1.25rem;margin-top:clamp(1.5rem,2.5vw,2.25rem);display:grid}.hero-sequence .trust-hero-copy>div>p{text-align:center;max-width:48ch}.hero-sequence .trust-proof{bottom:1.5rem}@keyframes heroRenderCycle{0%,43%{opacity:1}50%,93%{opacity:0}to{opacity:1}}@keyframes heroConstructionCycle{0%,43%{opacity:0}50%,93%{opacity:1}to{opacity:0}}@keyframes heroSequenceCopyIn{0%{opacity:0;filter:blur(7px);transform:translate(-50%,calc(18px - 50%))}to{opacity:1;filter:blur();transform:translate(-50%,-50%)}}.selected-condensed{padding-top:clamp(3rem,5vw,4.5rem)}.selected-condensed .selected-heading{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,1.5rem);margin-bottom:clamp(2rem,3.5vw,3rem);display:flex}.selected-heading .section-kicker{justify-content:center;width:auto}.selected-condensed .selected-heading h2{text-wrap:balance;max-width:15ch;font-size:clamp(3rem,5.2vw,5.4rem)}@media (width<=760px){[data-reveal],[data-reveal] .project-image-wrap>picture,.project-feature[data-reveal] .project-image-wrap>picture,.plan-frame[data-reveal] .plan-media,.plan-frame[data-reveal] .case-transition{opacity:1;filter:none;transform:none}.site-header{border-radius:1.2rem;min-height:4.25rem;padding:.65rem .8rem .65rem .95rem}.wordmark{gap:.7rem}.wordmark>img{width:2.04rem;height:2.38rem}.wordmark-copy{gap:.58rem}.wordmark-copy strong{font-size:1.28rem}.wordmark small{letter-spacing:.14em;font-size:.44rem}.site-nav{font-size:.76rem}.menu-button{width:2.7rem;height:2.7rem}.site-header.is-compact{border-radius:1rem;min-height:3.25rem;padding:.5rem .65rem .5rem .8rem}.site-header.is-compact .wordmark>img{width:1.42rem;height:1.66rem}.site-header.is-compact .wordmark-copy{gap:.4rem}.site-header.is-compact .wordmark-copy strong{font-size:.98rem}.site-header.is-compact .wordmark small{letter-spacing:.12em;font-size:.36rem}.site-header.is-compact .site-nav{font-size:.68rem}.site-header.is-compact .menu-button{width:2.45rem;height:2.45rem}.hero-sequence{min-height:100svh}.hero-scene-render img{object-position:52% center}.hero-scene-construction img{object-position:center 46%}.hero-sequence .trust-hero-copy{border-radius:1.3rem;width:calc(100% - 2rem);padding:1.3rem 1.1rem;inset:53% auto auto 50%}.hero-sequence .trust-hero-copy .eyebrow{margin-bottom:.9rem;font-size:.5rem}.hero-sequence .trust-hero-copy h1{max-width:11ch;font-size:clamp(2.65rem,12vw,3.75rem);line-height:.92}.hero-sequence .trust-hero-copy>div{gap:.75rem;margin-top:1rem}.hero-sequence .trust-hero-copy>div>p{max-width:31ch;font-size:.72rem;line-height:1.48}.selected-condensed{padding-top:3.25rem}.selected-condensed .selected-heading{gap:.85rem;margin-bottom:1.75rem}.selected-heading .section-kicker{font-size:.56rem}.selected-condensed .selected-heading h2{max-width:11ch;font-size:clamp(2.65rem,12vw,3.9rem);line-height:.94}.alliances-heading{gap:.85rem;margin-bottom:1.75rem}.alliances-heading .section-kicker{font-size:.56rem}.alliances-heading h2{max-width:11ch;font-size:clamp(2.65rem,12vw,3.9rem)}.alliance-partner{border-right:1px solid #191b3021;min-height:12rem;padding:2.2rem 1.5rem}.alliances-grid{grid-template-columns:minmax(0,34rem)}.alliance-partner+.alliance-partner{border-top:1px solid #191b3021}}@media (width>=761px){.plan-media,.plan-frame-wide .plan-media,.case-transition{height:min(54svh,38rem);min-height:26rem}}@media (width>=1024px){.site-header{border-radius:1.35rem;min-height:4.15rem;padding:.68rem 1rem .68rem 1.15rem;top:.8rem}.wordmark{gap:.72rem}.wordmark>img{width:2rem;height:2.32rem}.wordmark-copy{gap:.62rem}.wordmark-copy strong{font-size:1.22rem}.wordmark small{font-size:.48rem}.site-nav{gap:clamp(1.65rem,2.8vw,3.15rem);font-size:.73rem}.site-nav .header-cta{padding:.76rem 1.15rem}.site-header.is-compact{border-radius:1.05rem;min-height:3.2rem;padding:.48rem .75rem .48rem .9rem}.hero-sequence:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#10122200,#101222 94%);height:clamp(7rem,15vh,11rem);position:absolute;bottom:0;left:0;right:0}.hero-sequence .trust-hero-copy{z-index:2;width:min(48rem, calc(100% - var(--page-pad) * 2));-webkit-backdrop-filter:blur(15px)saturate(112%);backdrop-filter:blur(15px)saturate(112%);background:linear-gradient(135deg,#12142585,#27283257);border-color:#ffffff3d;border-radius:1.75rem;padding:clamp(1.55rem,2.5vw,2.35rem) clamp(2rem,3.5vw,3.25rem);top:50%;box-shadow:0 28px 80px #04061433,inset 0 1px #ffffff14}.hero-sequence .trust-hero-copy .eyebrow{margin-bottom:.95rem}.hero-sequence .trust-hero-copy h1{text-align:center;max-width:10.5ch;font-size:clamp(3.45rem,5.35vw,5.65rem);line-height:.91}.hero-sequence .trust-hero-copy>div{gap:.9rem;margin-top:clamp(1.1rem,1.8vw,1.55rem)}.hero-sequence .trust-hero-copy>div>p{text-align:center;max-width:46ch;font-size:.78rem;line-height:1.5}.hero-sequence .trust-proof{z-index:3}.build-proof{padding-top:clamp(5.5rem,8vh,7rem);padding-bottom:clamp(5.5rem,8vh,7rem)}.build-proof-head{gap:1rem;width:100vw;max-width:none;margin-bottom:clamp(2.5rem,5vh,3.75rem);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.build-proof-head h2{max-width:14ch;font-size:clamp(3.5rem,4.6vw,5.05rem);line-height:.95}.build-proof-grid{align-items:start;gap:clamp(1.4rem,2.2vw,2.5rem);max-width:112rem;margin:0 auto}.build-proof-grid picture{aspect-ratio:1.52}.case-body{grid-template-columns:minmax(12rem,1.55fr) minmax(0,8.45fr);gap:clamp(2rem,4vw,5rem);padding-top:clamp(5rem,7vw,7rem);padding-bottom:clamp(5rem,7vw,7rem)}.case-sticky{min-height:calc(100svh - 8rem);top:5.5rem}.case-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2vw,2rem);max-width:92rem;display:grid}.case-sequence>.plan-frame{margin-bottom:0}.case-sequence>.plan-frame:nth-child(3),.case-sequence>.plan-frame:nth-child(4){grid-column:1/-1}.case-sequence>.plan-frame:nth-child(-n+2) .plan-media{height:clamp(18rem,31vw,29rem);min-height:0;padding:clamp(.8rem,1.5vw,1.4rem)}.case-sequence>.plan-frame:nth-child(n+3) .plan-media,.case-sequence>.plan-frame:nth-child(n+3) .case-transition{height:min(54svh,38rem);min-height:26rem}.case-sequence>.plan-frame:nth-child(-n+2) .plan-caption{grid-template-columns:2.6rem minmax(0,1fr);padding:.9rem 1rem}.case-sequence>.plan-frame:nth-child(-n+2) .plan-caption p{font-size:clamp(1.15rem,1.55vw,1.55rem)}.case-sequence>.plan-frame:nth-child(-n+2) .plan-caption small{display:none}.selected-pair .project-glass{border-radius:1rem;grid-template-columns:2rem minmax(0,1fr);width:min(76%,29rem);padding:.82rem 1rem;bottom:1.15rem;left:1.15rem;right:auto}.selected-pair .project-glass>span{font-size:1.2rem}.selected-pair .project-glass h3{margin-bottom:.25rem;font-size:clamp(1.25rem,1.6vw,1.7rem)}.selected-pair .project-glass p{font-size:.52rem}.selected-condensed .selected-heading{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.build-proof-head .section-kicker,.selected-condensed .selected-heading .section-kicker{align-self:center;justify-content:initial;width:calc(100% - (var(--page-pad) * 2));text-align:left}.alliances-heading .section-kicker{align-self:stretch;justify-content:initial;text-align:left;width:100%}}@media (prefers-reduced-motion:reduce){.hero-scene-render{opacity:1;animation:none!important}.hero-scene-construction{opacity:0;animation:none!important}.hero-sequence .trust-hero-copy{opacity:1;filter:none;transform:translate(-50%,-50%);animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
/* FILO production update: positioning and interaction extensions only. */
html {
  scroll-behavior: auto !important;
  max-width: 100%;
  overflow-x: clip;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

body.is-scroll-locked,
html.is-scroll-locked {
  overflow: hidden !important;
  overscroll-behavior: none;
}

:where(button, a, input):focus-visible {
  outline: 2px solid var(--filo-gold, #a7956f);
  outline-offset: 4px;
}

.hero-sequence .trust-hero-copy {
  width: min(72rem, calc(100% - var(--page-pad) * 2));
}

.hero-sequence .trust-hero-copy h1 {
  max-width: 18ch;
  font-size: clamp(2.8rem, 5vw, 5.65rem);
  line-height: .94;
  text-wrap: balance;
}

.hero-sequence .trust-hero-copy > div > p {
  max-width: 68ch;
}

.vision-glass {
  width: min(86rem, 90vw);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.vision-glass[data-reveal].filo-reveal-pending > * {
  opacity: 0;
  transform: translateY(11px);
  transition: opacity .62s var(--ease-out), transform .72s var(--ease-out);
}

.vision-glass[data-reveal][data-visible="true"] > .vision-copy {
  opacity: 1;
  transform: none;
  transition-delay: .2s;
}

.vision-glass[data-reveal][data-visible="true"] > .ai-guide-cta {
  opacity: 1;
  transform: none;
  transition-delay: .34s;
}

.vision-copy h2 {
  font-family: var(--font-editorial);
  letter-spacing: -.045em;
  margin: 0 0 clamp(1rem, 1.7vw, 1.45rem);
  font-size: clamp(2.25rem, 3.7vw, 4rem);
  font-weight: 400;
  line-height: .95;
}

.vision-copy p {
  color: #f4efe2b3;
  max-width: 69ch;
  margin: 0;
  font-size: clamp(.78rem, 1vw, .95rem);
  line-height: 1.72;
}

.ai-guide-cta {
  display: grid;
  gap: 1.35rem;
  padding-left: clamp(1.5rem, 3vw, 3rem);
  border-left: 1px solid rgba(209, 180, 112, .28);
}

.ai-guide-cta span {
  display: block;
  margin-bottom: .6rem;
  color: #d1b470;
  font-size: .55rem;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.ai-guide-cta h3 {
  margin: 0 0 .65rem;
  color: var(--ivory);
  font-family: "FILO Trajan", var(--font-editorial);
  font-size: clamp(1.15rem, 1.8vw, 1.75rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.ai-guide-cta p {
  margin: 0;
  color: #f4efe2a8;
  font-size: .78rem;
  line-height: 1.6;
}

.ai-guide-button {
  justify-self: start;
  min-height: 2.8rem;
  padding: .75rem 1.15rem;
  border: 1px solid rgba(209, 180, 112, .52);
  border-radius: 999px;
  background: rgba(255, 255, 255, .045);
  color: #e1cca0;
  cursor: pointer;
  font: inherit;
  font-size: .58rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s var(--ease-out);
}

.ai-guide-button:hover {
  transform: translateY(-2px);
  border-color: #d1b470;
  background: rgba(209, 180, 112, .13);
  color: #fff8e8;
}

.value-result > div > p {
  font-family: var(--font-editorial);
  font-size: clamp(1.4rem, 2.3vw, 2.2rem);
  line-height: 1;
}

.value-change {
  max-width: 10rem;
  text-align: right;
}

[data-chart] .profit-line {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}

[data-chart] .chart-area {
  opacity: .72;
}

[data-chart] .profit-point {
  opacity: 1;
}

[data-chart][data-chart-ready="true"] .profit-line {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

[data-chart][data-chart-ready="true"] .chart-area,
[data-chart][data-chart-ready="true"] .profit-point {
  opacity: 0;
}

[data-chart][data-chart-complete="true"] .profit-line {
  transition: filter .55s ease;
}

.project-image-wrap {
  touch-action: pan-y;
}

.project-track {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.project-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.018);
  transition: opacity .52s ease, transform .8s var(--ease-out);
}

.project-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  z-index: 1;
}

.project-slide .project-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
}

.project-media-label {
  position: absolute;
  z-index: 4;
  top: 1.2rem;
  left: 1.2rem;
  padding: .5rem .7rem;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 999px;
  background: rgba(15, 17, 33, .52);
  color: rgba(255, 255, 255, .82);
  backdrop-filter: blur(10px);
  font-size: .52rem;
  letter-spacing: .16em;
}

.carousel-arrow,
.carousel-zoom {
  position: absolute;
  z-index: 5;
  border: 1px solid rgba(255, 255, 255, .34);
  background: rgba(15, 17, 33, .46);
  color: #fff;
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, transform .25s var(--ease-out);
}

.carousel-arrow {
  top: 50%;
  display: grid;
  place-items: center;
  width: 2.85rem;
  height: 2.85rem;
  padding: 0;
  border-radius: 50%;
  transform: translateY(-50%);
}

.carousel-arrow:hover {
  border-color: #d1b470;
  background: rgba(167, 149, 111, .34);
}

.carousel-prev { left: 1rem; }
.carousel-next { right: 1rem; }

.carousel-zoom {
  top: 1.15rem;
  right: 1.15rem;
  left: auto;
  bottom: auto;
  padding: .55rem .8rem;
  border-radius: 999px;
  font: inherit;
  font-size: .55rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.carousel-count {
  align-self: center;
  color: rgba(255, 255, 255, .7);
  font-size: .56rem;
  letter-spacing: .13em;
  white-space: nowrap;
}

.selected-pair .project-glass {
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  z-index: 4;
}

.filo-modal[hidden] { display: none; }

.filo-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2rem);
}

.filo-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 9, 22, .82);
  backdrop-filter: blur(18px) saturate(110%);
  animation: filo-fade-in .28s ease both;
}

.filo-modal-panel {
  position: relative;
  z-index: 1;
  width: min(35rem, 100%);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: clamp(1.25rem, 2.5vw, 2rem);
  background: linear-gradient(145deg, rgba(31, 33, 51, .98), rgba(18, 20, 34, .97));
  color: var(--ivory);
  box-shadow: 0 40px 120px rgba(0, 0, 0, .52), inset 0 1px rgba(255, 255, 255, .12);
  animation: filo-modal-in .42s var(--ease-out) both;
}

.filo-modal-panel h2 {
  max-width: 13ch;
  margin: 0 0 1rem;
  font-family: var(--font-editorial);
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .96;
}

.filo-modal-panel > p:not(.eyebrow) {
  margin: 0 0 1.75rem;
  color: rgba(245, 243, 238, .68);
  line-height: 1.65;
}

.filo-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  min-height: 2.6rem;
  padding: .55rem .8rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .55rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.filo-modal form,
.filo-modal label {
  display: grid;
  gap: .65rem;
}

.filo-modal form { gap: 1rem; }

.filo-modal label > span {
  color: rgba(255, 255, 255, .62);
  font-size: .55rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.filo-modal input {
  width: 100%;
  min-height: 3.25rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: .85rem;
  outline: 0;
  background: rgba(255, 255, 255, .055);
  color: var(--ivory);
  font: inherit;
}

.filo-modal input:focus { border-color: var(--filo-gold); }
.filo-modal .primary-cta { width: 100%; margin-top: .35rem; border: 0; cursor: pointer; }
.guide-privacy, .guide-status { margin: 0; color: rgba(255, 255, 255, .48); font-size: .62rem; line-height: 1.55; }
.guide-status { min-height: 1em; color: #d1b470; }

.lightbox {
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  grid-template-rows: minmax(3.25rem, auto) minmax(0, 1fr) minmax(3.25rem, auto);
  overflow: hidden;
}

.lightbox[hidden] {
  display: none;
}

.lightbox-media {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: clamp(.35rem, 1vw, 1rem);
}

.lightbox-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.lightbox-controls output {
  color: rgba(255, 255, 255, .66);
  font-size: .6rem;
  letter-spacing: .14em;
}

@keyframes filo-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes filo-modal-in {
  from { opacity: 0; transform: translateY(16px) scale(.985); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 920px) {
  .vision-glass {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .ai-guide-cta {
    padding-top: 1.5rem;
    padding-left: 0;
    border-top: 1px solid rgba(209, 180, 112, .28);
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .hero-sequence .trust-hero-copy {
    width: calc(100% - 2rem);
    padding: 1.2rem 1rem;
  }

  .hero-sequence .trust-hero-copy h1 {
    max-width: 16ch;
    font-size: clamp(2rem, 8.8vw, 3rem);
    line-height: .96;
  }

  .hero-sequence .trust-hero-copy > div > p {
    max-width: 38ch;
    font-size: .7rem;
  }

  .vision-glass { width: 100%; }
  .ai-guide-button { width: 100%; }

  .project-media-label { top: .85rem; left: .85rem; }
  .carousel-zoom { top: .8rem; right: .8rem; }
  .carousel-arrow { width: 2.65rem; height: 2.65rem; }
  .carousel-prev { left: .7rem; }
  .carousel-next { right: .7rem; }
  .selected-pair .project-glass { width: calc(100% - 2rem); grid-template-columns: 2rem minmax(0, 1fr) auto; left: 1rem; bottom: 1rem; }

  .filo-modal { padding: .75rem; }
  .filo-modal-panel { max-height: calc(100dvh - 1.5rem); padding: 1.5rem 1.1rem 1.25rem; }
  .filo-modal-panel h2 { max-width: 12ch; padding-right: 2.8rem; font-size: clamp(2rem, 10vw, 3rem); }
  .lightbox { gap: .65rem; padding: .75rem; }
  .lightbox-media { padding: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .project-slide,
  .ai-guide-button,
  .filo-modal-backdrop,
  .filo-modal-panel {
    animation: none !important;
    transition: none !important;
  }
}

/* Progressive enhancement: content starts visible and is hidden only after its observer is ready. */
[data-reveal],
[data-reveal] .project-image-wrap > picture,
.project-feature[data-reveal] .project-image-wrap > picture,
.plan-frame[data-reveal] .plan-media,
.plan-frame[data-reveal] .case-transition,
.vision-glass[data-reveal] > * {
  opacity: 1;
  filter: none;
  transform: none;
}

[data-reveal].filo-reveal-pending,
[data-reveal].filo-reveal-pending .project-image-wrap > picture,
.project-feature[data-reveal].filo-reveal-pending .project-image-wrap > picture,
.plan-frame[data-reveal].filo-reveal-pending .plan-media,
.plan-frame[data-reveal].filo-reveal-pending .case-transition {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(16px);
}

@media (min-width: 1024px) {
  .build-proof-head,
  .selected-condensed .selected-heading {
    width: calc(100% + (var(--page-pad) * 2));
    margin-left: calc(var(--page-pad) * -1);
    margin-right: calc(var(--page-pad) * -1);
  }
}

/* The first viewport never depends on an opacity animation to appear. */
.hero-sequence .hero-scene-render {
  opacity: 1;
}

.hero-sequence .trust-hero-copy {
  opacity: 1;
  animation: filo-hero-copy-safe .72s .06s var(--ease-out) both;
}

@keyframes filo-hero-copy-safe {
  from {
    opacity: 1;
    filter: blur(2px);
    transform: translate(-50%, calc(-50% + 10px));
  }
  to {
    opacity: 1;
    filter: none;
    transform: translate(-50%, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-sequence .trust-hero-copy {
    animation: none !important;
  }
}

/* Image viewer: clear side controls and native horizontal touch navigation. */
.lightbox-media { position:relative; touch-action:pan-y pinch-zoom; }
.lightbox .lightbox-side { position:absolute; top:50%; transform:translateY(-50%); z-index:2; display:grid; place-items:center; width:52px; height:52px; padding:0; color:#f5f3ee; background:rgba(17,19,32,.78); border:1px solid rgba(187,170,130,.7); box-shadow:0 3px 16px #0004; backdrop-filter:blur(10px); }
.lightbox .lightbox-prev { left:14px; }
.lightbox .lightbox-next { right:14px; }
.lightbox .lightbox-side:hover { background:rgba(66,61,49,.95); }
.lightbox .lightbox-side[hidden], .lightbox-swipe-hint[hidden] { display:none; }
.lightbox .lightbox-controls { justify-content:center; flex-direction:column; gap:4px; }
.lightbox-swipe-hint { display:none; color:#bbaa82; font-size:11px; letter-spacing:.06em; }
@media (pointer:coarse) { .lightbox-swipe-hint:not([hidden]) { display:block; } }
@media(max-width:760px) { .lightbox .lightbox-side { width:46px; height:46px; } .lightbox .lightbox-prev { left:8px; } .lightbox .lightbox-next { right:8px; } }
