@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/cormorant-garamond-latin-400-normal.B-1hWBU7.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-400-normal.B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/cormorant-garamond-latin-500-normal.BsRWmXhO.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-500-normal.zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/cormorant-garamond-latin-400-italic.Dc_OZ8oc.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-400-italic.BLh7T8o8.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/_astro/cormorant-garamond-latin-500-italic.Y14P-dkT.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-500-italic.DhNIfkTX.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jost-latin-400-normal.q-RKOgPK.woff2)format("woff2"),url(/_astro/jost-latin-400-normal.C7S-3Ky6.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jost-latin-500-normal.41lBe9I9.woff2)format("woff2"),url(/_astro/jost-latin-500-normal.B-AtzreL.woff)format("woff")}:root{--navy:#102b37;--navy-deep:#0a1d26;--navy-soft:#17394a;--ink:#183540;--cream:#f6f4ef;--paper:#fbfaf6;--sand:#eaece5;--muted:#53625f;--gold:#b6a17c;--gold-light:#e2d6be;--gold-deep:#7d6b45;--sage:#5f6e63;--line:#d9dcd3;--font-serif:"Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;--font-sans:"Jost", "Helvetica Neue", Arial, sans-serif;--fs-body:1.0625rem;--fs-small:.9375rem;--fs-eyebrow:.75rem;--fs-lead:clamp(1.35rem, 1.5vw + .8rem, 1.85rem);--fs-h1:clamp(2.75rem, 5.3vw + .4rem, 5.75rem);--fs-h2:clamp(2.5rem, 4.2vw + .6rem, 4.75rem);--fs-h3:clamp(1.6rem, 1.2vw + 1.1rem, 2.1rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.3s;--dur:.6s;--dur-slow:1s;--header-h:88px;--gutter:clamp(20px, 6vw, 96px);--section-y:clamp(80px, 11vw, 160px);font-family:var(--font-sans);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color-scheme:light;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) - 8px)}html.menu-open{overflow:hidden}body{font-size:var(--fs-body);margin:0;line-height:1.75;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{width:100%;height:auto;display:block}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--gold-light);color:var(--navy)}p{color:var(--muted);margin:0 0 1.25em}h1,h2,h3{font-family:var(--font-serif);text-wrap:balance;margin:0;font-weight:400}h1{font-size:var(--fs-h1);letter-spacing:-.02em;line-height:1.02}h2{font-size:var(--fs-h2);letter-spacing:-.02em;margin-bottom:.5em;line-height:1.05}h3{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:500;line-height:1.15}em{font-style:italic;font-weight:400}h2 em{color:var(--sage)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}.wrap{width:min(1360px, calc(100% - 2 * var(--gutter)));margin-inline:auto}.section{padding-block:var(--section-y)}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);align-items:center;gap:16px;margin:0 0 28px;font-weight:500;line-height:1.4;display:flex}.eyebrow:before{content:"";background:currentColor;flex-shrink:0;width:40px;height:1px}.eyebrow.light{color:var(--gold)}.lead{font-family:var(--font-serif);font-size:var(--fs-lead);color:var(--ink);margin-bottom:1.1em;line-height:1.4}.skip-link{z-index:200;background:var(--paper);color:var(--navy);border-radius:2px;padding:14px 20px;font-weight:500;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.button{letter-spacing:.06em;isolation:isolate;min-height:56px;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:14px;padding:16px 32px;font-size:.9375rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";z-index:-1;background:var(--cream);border-radius:inherit;transition:transform var(--dur) var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.button:hover:before,.button:focus-visible:before{transform:translateY(0)}.button .arrow{width:22px;height:12px;transition:transform var(--dur-fast) var(--ease-out);flex-shrink:0}.button:hover .arrow{transform:translate(5px)}.button-primary{background:var(--gold-light);color:var(--navy);border-color:var(--gold-light)}.button-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px #00000030}.button-ghost{color:var(--cream);background:0 0;border-color:#f6f4ef66}.button-ghost:before{background:var(--cream)}.button-ghost:hover{color:var(--navy);border-color:var(--cream)}.text-link{letter-spacing:.06em;transition:background-size var(--dur) var(--ease-out), color var(--dur-fast);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:12px;padding-block:8px;font-size:.9375rem;font-weight:500;display:inline-flex}.text-link:hover{background-position:100% 100%;background-size:0% 1px}.text-link .arrow{width:22px;height:12px;transition:transform var(--dur-fast) var(--ease-out)}.text-link:hover .arrow{transform:translate(5px)}@keyframes reveal-up{0%{opacity:0;translate:0 36px}}@keyframes reveal-wipe{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes image-settle{0%{transform:scale(1.22)}}.js [data-reveal]:not([data-reveal=image],[data-reveal=wipe]):not(.is-visible),.js [data-reveal-child]:not(.is-visible){opacity:0}.js [data-reveal]:not([data-reveal=image],[data-reveal=wipe]).is-visible,.js [data-reveal-child].is-visible{animation:reveal-up 1s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * .11s)}.js [data-reveal=image]:not(.is-visible),.js [data-reveal=wipe]:not(.is-visible){clip-path:inset(0 0 100%)}.js [data-reveal=image].is-visible,.js [data-reveal=wipe].is-visible{animation:reveal-wipe 1.3s var(--ease-in-out) backwards}.js [data-reveal=image].is-visible img{animation:image-settle 1.9s var(--ease-out) backwards}@keyframes hero-zoom{0%{transform:scale(1.14)}}@keyframes line-rise{0%{translate:0 110%}}@keyframes fade-in-up{0%{opacity:0;translate:0 22px}}@keyframes fade-in{0%{opacity:0}}.hero-media img{animation:hero-zoom 2.4s var(--ease-out) backwards}.hero-kicker{animation:fade-in-up 1s var(--ease-out) .2s backwards}.hero-title .line>span{animation:line-rise 1.2s var(--ease-out) backwards;animation-delay:calc(.3s + var(--n,0) * .1s)}.hero-title .line:first-child{--n:0}.hero-title .line:nth-child(2){--n:1}.hero-title .line:nth-child(3){--n:2}.hero-title .line:nth-child(4){--n:3}.hero-title .line:nth-child(5){--n:4}.hero-description{animation:fade-in-up 1s var(--ease-out) .95s backwards}.hero-actions{animation:fade-in-up 1s var(--ease-out) 1.1s backwards}.header{animation:1s .1s backwards fade-in}@keyframes hero-parallax{to{transform:translateY(22%)}}@keyframes hero-content-fade{to{opacity:0;translate:0 -40px}}@supports (animation-timeline:view()){.hero-media{animation:linear both hero-parallax scroll(root);animation-range:0 100svh}.hero-content{animation:linear both hero-content-fade scroll(root);animation-range:0 70svh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.js [data-reveal],.js [data-reveal-child]{opacity:1!important;clip-path:none!important;translate:none!important}}.header{--header-duration:.85s;--header-ease:cubic-bezier(.4, 0, .2, 1);z-index:50;height:var(--header-h);padding-inline:var(--gutter);color:var(--cream);transition:color var(--header-duration) var(--header-ease), height var(--header-duration) var(--header-ease);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.header:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(18px)saturate(1.15);opacity:0;transition:opacity var(--header-duration) var(--header-ease);background:#f6f4efeb;border-bottom:1px solid #10283614;position:absolute;inset:0}.header:after{content:"";z-index:-2;pointer-events:none;transition:opacity var(--header-duration) var(--header-ease);background:linear-gradient(#0a1d26b3,#0000);position:absolute;inset:0 0 -40px}.header.is-scrolled{color:var(--ink);--header-h:76px;height:76px}.header.is-scrolled:before{opacity:1}.header.is-scrolled:after{opacity:0}.brand{z-index:3;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.brand-logo{width:120px;height:auto;display:block}.header .brand-logo{filter:brightness(0)invert();width:clamp(180px,18vw,240px);transition:filter var(--header-duration) var(--header-ease)}.header.is-scrolled .brand-logo{filter:none}.progress{opacity:0;height:2px;transition:opacity var(--header-duration) var(--header-ease);pointer-events:none;position:absolute;inset:auto 0 0}.progress span{background:var(--gold);height:100%;transform:scaleX(var(--progress,0));transform-origin:0;display:block}.header.is-scrolled .progress{opacity:1}@media (prefers-reduced-motion:reduce){.header{transition-property:color;transition-duration:.35s!important}.header:before,.header:after,.header .brand-logo,.header .progress{transition-duration:.35s!important}}.header nav{align-items:center;gap:clamp(22px,2.8vw,44px);display:flex}.header nav>a{letter-spacing:.07em;padding-block:12px;font-size:.9375rem;font-weight:400;position:relative}.header nav>a:not(.nav-contact):after{content:"";background:var(--gold);transform-origin:100%;height:1px;transition:transform var(--dur) var(--ease-out);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.header nav>a:not(.nav-contact):hover:after,.header nav>a[aria-current]:after{transform-origin:0;transform:scaleX(1)}.header nav .nav-contact{transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1px solid;border-radius:999px;padding:12px 26px}.header nav .nav-contact:hover{background:var(--cream);color:var(--navy);border-color:var(--cream)}.header.is-scrolled nav .nav-contact:hover{background:var(--navy);color:var(--cream);border-color:var(--navy)}.menu-toggle{display:none}@media (width<=860px){:root{--header-h:72px}.header{height:72px}.header.is-scrolled{--header-h:72px;height:72px}.menu-toggle{z-index:3;letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:14px;padding:12px 0 12px 12px;font-size:.8125rem;display:inline-flex;position:relative}.menu-icon{width:28px;height:12px;position:relative}.menu-icon i{height:1.5px;transition:transform var(--dur) var(--ease-out), top var(--dur) var(--ease-out);background:currentColor;position:absolute;left:0;right:0}.menu-icon i:first-child{top:0}.menu-icon i:last-child{top:10px}.menu-open .menu-icon i:first-child{top:5px;transform:rotate(45deg)}.menu-open .menu-icon i:last-child{top:5px;transform:rotate(-45deg)}.header.menu-open,.header.menu-open.is-scrolled{color:var(--cream)}.header.menu-open:before,.header.menu-open:after{opacity:0}.header.menu-open .brand-logo{filter:brightness(0)invert()}.header nav{z-index:1;padding:96px var(--gutter) 48px;background:var(--navy-deep);visibility:hidden;opacity:0;transition:opacity var(--dur) var(--ease-out), visibility 0s linear var(--dur);flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;position:fixed;inset:0}.header.menu-open nav{visibility:visible;opacity:1;transition-delay:0s}.header nav>a{font-family:var(--font-serif);letter-spacing:-.01em;opacity:0;transition:opacity var(--dur) var(--ease-out), translate var(--dur) var(--ease-out);padding-block:8px;font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.15;translate:0 24px}.header.menu-open nav>a{opacity:1;transition-delay:calc(.12s + var(--i,0) * 70ms);translate:0}.header nav>a:not(.nav-contact):after{display:none}.header nav>a[aria-current]{color:var(--gold-light)}.header nav .nav-contact{font-family:var(--font-sans);letter-spacing:.08em;background:var(--gold-light);color:var(--navy);border-color:var(--gold-light);margin-top:28px;padding:16px 34px;font-size:1rem}}.hero{background:var(--navy);height:100svh;min-height:640px;color:var(--cream);isolation:isolate;align-items:end;display:grid;position:relative;overflow:clip}.hero-media{z-index:-2;position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:62% 38%;width:100%;height:100%}.hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0a1d26f2 0%,#0a1d26c4 26%,#0a1d2670 48%,#0a1d2614 72%,#0000 100%),linear-gradient(#0000 62%,#0a1d26cc 100%);position:absolute;inset:0}.hero-content{padding-top:calc(var(--header-h) + 32px);padding-bottom:clamp(56px,9vh,104px)}.hero-kicker{font-size:var(--fs-eyebrow);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);align-items:center;gap:16px;margin:0 0 clamp(18px,3vh,30px);font-weight:500;display:flex}.hero-kicker:before{content:"";background:currentColor;width:40px;height:1px}.hero-title{color:var(--cream);font-size:clamp(2.75rem,min(5.3vw,9.4vh),5.75rem);line-height:1.02}.hero-title .line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.hero-title .line>span{display:block}.hero-title .line.em{color:var(--gold-light)}.hero-title em{color:inherit}.hero-description{color:#e6e8e3;margin:clamp(20px,3.4vh,34px) 0 0;font-size:clamp(1.05rem,1vw + .7rem,1.25rem);line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px 36px;margin-top:clamp(24px,4vh,40px);display:flex}.hero-link{color:var(--cream);background:0 0}@media (width<=860px){.hero{flex-direction:column;height:auto;min-height:0;display:flex}.hero-media{height:clamp(360px,92vw,560px);position:relative;inset:auto}.hero-media img{object-position:60% 30%}.hero:after{background:linear-gradient(0deg, var(--navy) 0%, #102b3780 22%, transparent 55%), linear-gradient(180deg, #0a1d2699, transparent 28%);height:clamp(360px,92vw,560px);inset:0 0 auto}.hero-content{z-index:1;width:calc(100% - 2 * var(--gutter));margin:-64px auto 0;padding-top:0;padding-bottom:56px;position:relative}.hero-title{font-size:clamp(2.6rem,12.5vw,4.2rem)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:clamp(40px,5vw,72px);display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:380px;font-size:var(--fs-small);margin:0 0 .6em}.about-grid{grid-template-columns:5fr 6fr;align-items:center;gap:clamp(40px,8vw,130px);display:grid}.about-visual{margin:0 22px 22px 0;position:relative}.about-visual:before{content:"";border:1px solid var(--gold);position:absolute;inset:0;translate:22px 22px}.js .about-visual:before{opacity:0;transition:opacity 1.2s var(--ease-out) .5s, translate 1.2s var(--ease-out) .5s;translate:0}.js .about-visual:has(.is-visible):before{opacity:1;translate:22px 22px}.about-frame{aspect-ratio:4/5;background:var(--sand);position:relative}.about-frame img{object-fit:cover;object-position:center 42%;height:100%}.about-visual figcaption{font:italic 400 1.5rem/1.3 var(--font-serif);color:var(--sage);margin-top:44px;position:relative}.about-copy>p:last-child{margin-bottom:0}.about-copy .lead{max-width:28ch}.highlights{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:clamp(64px,9vw,120px) 0 0;padding:0;list-style:none;display:grid}.highlights li{border-left:1px solid var(--line);gap:6px;padding:32px 28px 0;display:grid}.highlights li:first-child{border-left:0;padding-left:0}.highlights strong{font:500 clamp(1.7rem, 2.6vw, 2.5rem)/1.1 var(--font-serif);letter-spacing:-.01em;color:var(--ink)}.highlights span{font-size:var(--fs-small);color:var(--muted);line-height:1.5}.philosophy{background:var(--navy);color:var(--cream)}.philosophy h2{color:var(--cream)}.philosophy h2 em{color:var(--gold-light)}.philosophy-head{grid-template-columns:1.5fr 1fr;align-items:end;gap:40px 60px;margin-bottom:clamp(48px,7vw,100px);display:grid}.philosophy-head h2{margin-bottom:0}.philosophy-intro{max-width:24ch;font:italic 400 var(--fs-lead)/1.4 var(--font-serif);color:#c9d2d1;margin:0 0 .6em}.philosophy-body{grid-template-columns:5fr 6fr;align-items:start;gap:clamp(40px,8vw,130px);display:grid}.philosophy-media{top:calc(var(--header-h) + 28px);position:sticky}.philosophy-figure{aspect-ratio:4/5;max-height:calc(100svh - var(--header-h) - 72px);background:var(--navy-soft);margin:0}.philosophy-figure img{object-fit:cover;object-position:14% 50%;height:100%}.principles{margin:0;padding:0;list-style:none}.principle{border-top:1px solid #ffffff1f;align-items:center;gap:clamp(20px,3vw,40px);min-height:clamp(260px,44vh,420px);padding-block:40px;display:flex;position:relative}.principle:last-child{border-bottom:1px solid #ffffff1f}.principle:before{content:"";background:var(--gold);transform-origin:0;width:100%;height:1px;transition:transform 1s var(--ease-out);position:absolute;top:-1px;left:0;transform:scaleX(0)}.principle.is-active:before{transform:scaleX(1)}.principle-number{font:400 clamp(2.6rem, 4vw, 4rem)/1 var(--font-serif);color:var(--gold);align-self:flex-start;min-width:2ch;padding-top:6px}.principle h3{color:var(--cream);margin-bottom:14px}.principle p{color:#c1cdce;max-width:44ch;margin:0}.js .principle>*{opacity:.38;transition:opacity .8s var(--ease-out)}.js .principle.is-active>*{opacity:1}.services{padding-bottom:0}.service-grid{grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px);display:grid}.service{background:var(--paper);border:1px solid var(--line);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);flex-direction:column;padding:36px 30px 32px;display:flex;position:relative}.service:after{content:"";background:var(--gold);transform-origin:0;height:3px;transition:transform var(--dur) var(--ease-out);position:absolute;top:-1px;left:-1px;right:-1px;transform:scaleX(0)}.service:hover,.service:focus-within{border-color:var(--gold);transform:translateY(-8px);box-shadow:0 34px 60px -34px #10283655}.service:hover:after,.service:focus-within:after{transform:scaleX(1)}.service-number{font:400 4.5rem/1 var(--font-serif);color:#0000;-webkit-text-stroke:1px var(--gold);transition:color var(--dur) var(--ease-out);margin-bottom:28px}.service:hover .service-number{color:var(--gold-light)}.service h3{margin-bottom:16px;font-size:clamp(1.6rem,1.7vw,1.95rem)}.service p{font-size:var(--fs-small);margin-bottom:28px;line-height:1.7}.service-tag{border-top:1px solid var(--line);font:italic 400 1.2rem/1.35 var(--font-serif);color:var(--gold-deep);transition:padding-left var(--dur) var(--ease-out), color var(--dur);margin-top:auto;padding-top:18px}.service:hover .service-tag{color:var(--ink);padding-left:10px}.services-band{background:var(--navy);margin-top:clamp(64px,9vw,130px)}.services-band img{width:100%;height:auto}.achievements{background:var(--sand)}.gallery{--h1:clamp(360px, 40vw, 620px);--h2:clamp(400px, 44vw, 680px);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:var(--h1) var(--h2);gap:clamp(14px,2vw,28px);display:grid}.tile-a{grid-column:1/8}.tile-b{grid-column:8/13}.tile-c{grid-column:1/6}.tile-d{grid-column:6/13}.tile{background:var(--navy);min-width:0;margin:0;position:relative;overflow:hidden}.tile-images{height:100%;display:grid}.tile-images.is-pair{grid-template-columns:1fr 1fr;gap:6px}.tile-button{cursor:zoom-in;background:0 0;border:0;min-width:0;height:100%;padding:0;display:block;position:relative;overflow:hidden}.tile-button:focus-visible{outline-offset:-6px}.tile-button img{object-fit:cover;height:100%;transition:transform 1.4s var(--ease-out)}.tile-button:hover img{transform:scale(1.06)}.tile figcaption{color:var(--cream);pointer-events:none;background:linear-gradient(#0000 0%,#0a1d26b0 50%,#0a1d26f0 100%);padding:120px clamp(20px,2.4vw,36px) clamp(20px,2.2vw,32px);position:absolute;inset:auto 0 0}.tile-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);font-size:.72rem;font-weight:500;display:block}.tile h3{color:var(--cream);margin:8px 0 0;font-size:clamp(1.5rem,2.1vw,2.2rem)}.tile p{max-width:52ch;font-size:var(--fs-small);color:#dbe2e1;margin:12px 0 0;line-height:1.55}@media (hover:hover) and (pointer:fine){.tile p{opacity:0;max-height:0;transition:max-height .7s var(--ease-out), margin-top .7s var(--ease-out), opacity .6s var(--ease-out);margin-top:0;overflow:hidden}.tile:hover p,.tile:focus-within p{opacity:1;max-height:9em;margin-top:12px}}.lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--cream);background:#0a1d26f5;border:0;margin:0;padding:0}.lightbox[open]{animation:fade-in .4s var(--ease-out);place-items:center;display:grid}.lightbox::backdrop{background:0 0}html.lightbox-open{overflow:hidden}.lb-figure{justify-items:center;gap:20px;max-width:min(1240px,100vw - 48px);margin:0;padding:24px;display:grid}.lb-figure img{object-fit:contain;opacity:0;width:auto;max-width:100%;max-height:calc(100svh - 200px);transition:opacity .5s var(--ease-out), scale .7s var(--ease-out);scale:.98}.lb-figure img.is-loaded{opacity:1;scale:1}.lb-figure figcaption{text-align:center;justify-items:center;gap:4px;max-width:60ch;display:grid}.lb-figure strong{font:500 1.6rem/1.2 var(--font-serif)}.lb-figure span{font-size:var(--fs-small);color:#c6d0d0}.lb-figure small{letter-spacing:.2em;color:var(--gold);margin-top:6px;font-size:.75rem}.lb-close,.lb-nav{z-index:2;width:52px;height:52px;color:var(--cream);transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-out);background:#ffffff10;border:1px solid #ffffff30;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.lb-close:hover,.lb-nav:hover{background:var(--cream);color:var(--navy)}.lb-close{top:20px;right:20px}.lb-nav{top:50%;translate:0 -50%}.lb-prev{left:20px}.lb-next{right:20px}.partnership-grid{grid-template-columns:6fr 5fr;align-items:center;gap:clamp(48px,9vw,140px);display:grid}.pull-quote{border-left:2px solid var(--gold);font:italic 400 var(--fs-lead)/1.35 var(--font-serif);color:var(--ink);margin:0 0 1.8em;padding-left:clamp(20px,2.4vw,32px)}.partnership-images{padding-bottom:clamp(60px,8vw,110px);position:relative}.partnership-main{aspect-ratio:4/5;background:var(--sand);width:80%;margin:0 0 0 auto}.partnership-main img,.partnership-inset img{object-fit:cover;height:100%}.partnership-main img{object-position:center 20%}.partnership-inset{aspect-ratio:3/2;width:56%;box-shadow:0 0 0 10px var(--cream), 0 30px 50px -20px #10283650;background:var(--sand);margin:0;position:absolute;bottom:0;left:0}.contact{padding-top:var(--section-y);background:radial-gradient(ellipse 70% 60% at 15% 0%, #1d4a5f 0%, transparent 60%), var(--navy);color:var(--cream)}.contact-inner{padding-bottom:var(--section-y);grid-template-columns:1.25fr 1fr;align-items:end;gap:clamp(40px,7vw,120px);display:grid}.contact h2{color:var(--cream);font-size:clamp(2.6rem,4.8vw + .4rem,5.4rem)}.contact h2 em{color:var(--gold-light)}.contact p{color:#c3cfd0;max-width:46ch}.contact-button{min-height:64px;margin-top:14px;padding-inline:40px}.contact-cards{gap:16px;margin:0;padding:0;list-style:none;display:grid}.contact-card{transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);background:#ffffff08;border:1px solid #f6f4ef26;border-radius:6px;gap:10px;padding:28px 32px 26px;display:grid;position:relative;overflow:hidden}.contact-card:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform var(--dur) var(--ease-out);position:absolute;bottom:0;left:32px;right:32px;transform:scaleX(0)}.contact-card:hover,.contact-card:focus-visible{border-color:var(--gold);background:#ffffff10;transform:translateY(-3px)}.contact-card:hover:after,.contact-card:focus-visible:after{transform:scaleX(1)}.card-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:500}.card-value{font:400 clamp(1.35rem, 1.6vw, 1.75rem)/1.2 var(--font-serif);overflow-wrap:anywhere;transition:color var(--dur-fast);justify-content:space-between;align-items:center;gap:20px;display:flex}.contact-card:hover .card-value,.contact-card:focus-visible .card-value{color:var(--gold-light)}.card-value .arrow{width:22px;height:12px;color:var(--gold);transition:transform var(--dur-fast) var(--ease-out);flex-shrink:0}.contact-card:hover .arrow,.contact-card:focus-visible .arrow{transform:translate(6px)}.footer{background:var(--paper);padding-block:36px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.footer .brand-logo{width:96px}.footer-copy,.back-top{letter-spacing:.04em;color:var(--muted);font-size:.8125rem}.back-top{transition:color var(--dur-fast)}.back-top span{transition:translate var(--dur-fast) var(--ease-out);display:inline-block}.back-top:hover{color:var(--ink)}.back-top:hover span{translate:0 -4px}@media (width<=1100px){.service-grid{grid-template-columns:repeat(2,1fr)}.contact-inner{grid-template-columns:1fr;align-items:start}}@media (width<=860px){.about-grid,.philosophy-body,.partnership-grid{grid-template-columns:minmax(0,1fr);gap:56px}.about-visual{max-width:520px}.highlights{grid-template-columns:1fr}.highlights li,.highlights li:first-child{border-left:0;border-bottom:1px solid var(--line);padding:22px 0}.philosophy-head{grid-template-columns:1fr}.philosophy-media{position:static}.philosophy-figure{aspect-ratio:4/3;max-height:none}.philosophy-figure img{object-position:30% 50%}.principle{min-height:0;padding-block:30px}.js .principle>*{opacity:1}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}.section-heading>p{max-width:none;margin:0}.gallery{flex-direction:column;display:flex}.tile{height:clamp(380px,112vw,560px)}.partnership-images{max-width:520px}.lb-nav{top:auto;bottom:20px;translate:0}.lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}.lb-figure img{max-height:calc(100svh - 260px)}}@media (width<=640px){.service-grid{grid-template-columns:1fr}.service-number{margin-bottom:18px;font-size:3.6rem}.contact-card{padding:22px 22px 20px}.contact-card:after{left:22px;right:22px}.footer-inner{flex-direction:column;align-items:flex-start}}
