/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@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-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--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%;-moz-tab-size:4;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;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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,utilities;:root{--night:#0b1528;--night-2:#12203a;--navy:#1d3f6e;--ivory:#fff;--ivory-muted:#fff;--ivory-line:#ffffff29;--candle:#d9b77e;--rose:#7a2e3a;--font-display:"Bodoni Moda","Didot",Georgia,serif;--font-sans:"Jost",ui-sans-serif,system-ui,sans-serif;--ease-out:cubic-bezier(.22,1,.36,1);--gutter:clamp(1.25rem,4vw,3.5rem);--header-h:72px}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--night);color:var(--ivory);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:1rem;font-weight:300;line-height:1.6;overflow-x:clip}::selection{background:var(--candle);color:var(--night)}:focus-visible{outline:2px solid var(--candle);outline-offset:3px;border-radius:4px}em{font-style:italic}.skip-link{z-index:100;background:var(--ivory);color:var(--night);border-radius:999px;padding:.6rem 1rem;font-size:.875rem;font-weight:500;transition:top .2s;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.eyebrow{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ivory);font-size:.75rem;font-weight:400}.section-title{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.02}.section-title em{color:var(--ivory)}.btn{letter-spacing:.16em;text-transform:uppercase;min-height:3rem;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out),transform .2s var(--ease-out);cursor:pointer;touch-action:manipulation;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:0 1.6rem;font-size:.78rem;font-weight:500;display:inline-flex}.btn svg{flex:none;width:1.15rem;height:1.15rem}.btn:active{transform:scale(.98)}.btn-light{background:var(--ivory);color:var(--night)}.btn-light:hover{background:#fff}.btn-ghost{border:1px solid var(--ivory-line);color:var(--ivory)}.btn-ghost:hover{border-color:var(--ivory)}.btn-sm{min-height:2.5rem;padding:0 1.15rem;font-size:.72rem}.link-under{letter-spacing:.16em;text-transform:uppercase;min-height:3rem;color:var(--ivory);transition:background-size .4s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 calc(100% - .7rem) /0 1px no-repeat;align-items:center;gap:.5rem;font-size:.78rem;font-weight:400;display:inline-flex}.link-under:hover{background-size:100% 1px}.link-under svg{width:1rem;height:1rem;transition:transform .3s var(--ease-out)}.link-under:hover svg{transform:translate(3px)}.site-header{z-index:40;height:var(--header-h);padding:0 var(--gutter);transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.site-header[data-scrolled]{-webkit-backdrop-filter:saturate(140%)blur(14px);border-bottom-color:var(--ivory-line);background:#0b1528d1}.brand{align-items:center;gap:.7rem;min-height:44px;display:inline-flex}.brand-mark{width:1.75rem;height:1.75rem}.brand-word{font-family:var(--font-display);letter-spacing:.28em;white-space:nowrap;font-size:1.05rem;font-weight:500}@media(max-width:420px){.site-header .brand-word{letter-spacing:.2em;font-size:.95rem}.site-header .brand-word span{display:none}}.brand-word span{font-family:var(--font-sans);letter-spacing:.42em;color:var(--ivory);margin-left:.2rem;font-size:.62rem;font-weight:400}.header-actions{align-items:center;gap:.5rem;display:flex}.icon-link{border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .3s;display:inline-flex}.icon-link:hover{background:#f3ede214}.icon-link svg{width:1.3rem;height:1.3rem}.ph{outline:1px solid var(--ivory-line);outline-offset:-1px;background:radial-gradient(55% 45% at 30% 70%,#d9b77e6b,#0000 72%),radial-gradient(45% 40% at 76% 26%,#a03c4c80,#0000 72%),radial-gradient(35% 30% at 62% 88%,#d9b77e42,#0000 70%),linear-gradient(160deg,#1b2d4f,#0d1830);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.ph-mark{color:#f3ede247;width:18%;max-width:64px;height:auto}.service-media>.ph,.gallery-item>.ph,[data-lb-stage]>.ph{display:flex}.hero .ph{outline:none}.hero .ph-mark{display:none}.hero{isolation:isolate;align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-media{z-index:-2;position:absolute;top:0;right:0;bottom:0;left:0}.hero-media>*{object-fit:cover;width:100%;height:100%;aspect-ratio:auto!important}.hero-img{animation:hero-zoom 14s var(--ease-out)both}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-shade{z-index:-1;background:linear-gradient(to top,var(--night)0%,#0b1528b8 32%,#0b15281a 62%,#0b152873 100%),linear-gradient(to right,#0b1528b3 0%,#0b152859 45%,transparent 75%);position:absolute;top:0;right:0;bottom:0;left:0}.hero-inner{text-shadow:0 1px 24px #0b152873;width:100%;padding:0 var(--gutter)clamp(3.5rem,10vh,7rem);max-width:80rem}.hero-title{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;margin-top:1.25rem;font-size:clamp(2.6rem,8.2vw,6.5rem);font-weight:400;line-height:.98}.hero-title em{color:var(--ivory)}.hero-cta{flex-wrap:wrap;align-items:center;gap:.75rem 1.75rem;margin-top:2.25rem;display:flex}.services{padding:clamp(4.5rem,10vw,9rem)var(--gutter)0;max-width:90rem;margin:0 auto}.services-grid{grid-template-columns:minmax(0,1fr);gap:3rem;display:grid}@media(min-width:768px){.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}.service{flex-direction:column;min-width:0;display:flex}.service-media{aspect-ratio:4/5;border-radius:2px;width:100%;position:relative;overflow:hidden}.service-img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform 1.1s var(--ease-out);display:block;aspect-ratio:auto!important}.service:hover .service-img{transform:scale(1.04)}.service-body{flex-direction:column;flex:1;align-items:flex-start;padding-top:1.5rem;display:flex}.service-num{letter-spacing:.24em;color:var(--ivory);font-size:.72rem}.service-title{font-family:var(--font-display);margin-top:.4rem;font-size:clamp(1.9rem,2.8vw,2.4rem);font-weight:400;line-height:1.05}.service-text{color:var(--ivory-muted);flex:1;max-width:34rem;margin-top:.9rem;font-size:1rem;line-height:1.65}.service-body .link-under{margin-top:.75rem}.gallery{padding:clamp(5rem,11vw,10rem)var(--gutter)0;max-width:90rem;margin:0 auto}.section-head{flex-direction:column;gap:1rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:flex}.gallery-grid{columns:1;column-gap:1rem}@media(min-width:640px){.gallery-grid{columns:2}}@media(min-width:1024px){.gallery-grid{columns:3;column-gap:1.25rem}}.gallery-item{break-inside:avoid;cursor:zoom-in;border-radius:2px;width:100%;margin-bottom:1rem;display:block;position:relative;overflow:hidden}@media(min-width:1024px){.gallery-item{margin-bottom:1.25rem}}.gallery-item>*{object-fit:cover;width:100%;transition:transform 1s var(--ease-out),filter .6s var(--ease-out);display:block}.gallery-item:hover>*{filter:brightness(1.08);transform:scale(1.03)}.closing{padding:clamp(5rem,10vw,9rem)var(--gutter);text-align:center;border-top:1px solid var(--ivory-line);background:radial-gradient(50% 60% at 50% 0,#1d3f6e73,#0000 75%);flex-direction:column;align-items:center;margin-top:clamp(5rem,11vw,10rem);display:flex}.closing-mark{width:4.5rem;height:4.5rem;margin-bottom:2rem}.closing-text{max-width:30rem;color:var(--ivory-muted);margin-top:1.25rem;font-size:1.05rem}.closing-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.5rem;display:flex}.site-footer{padding:2rem var(--gutter)6rem;border-top:1px solid var(--ivory-line);color:var(--ivory-muted);text-align:center;flex-direction:column;align-items:center;gap:.5rem;font-size:.8rem;display:flex}@media(min-width:768px){.site-footer{flex-direction:row;justify-content:space-between;padding-bottom:2rem}}.float-cta{right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));z-index:30;background:var(--ivory);width:3.5rem;height:3.5rem;color:var(--night);opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);border-radius:999px;place-items:center;display:grid;position:fixed;transform:translateY(12px)scale(.96);box-shadow:0 10px 30px #00000059}.float-cta svg{width:1.5rem;height:1.5rem}body[data-past-hero] .float-cta{opacity:1;pointer-events:auto;transform:none}@media(min-width:1024px){.float-cta{display:none}}.ig-toast{left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:70;text-align:center;background:var(--navy);width:max-content;max-width:calc(100vw - 2rem);color:var(--ivory);border:1px solid var(--ivory-line);animation:fade .25s var(--ease-out);border-radius:999px;padding:.85rem 1.25rem;font-size:.9rem;font-weight:400;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.ig-toast[hidden]{display:none}@media(max-width:480px){.ig-toast{border-radius:1rem}}.lightbox{z-index:60;animation:fade .25s var(--ease-out);background:#070e1bf5;grid-template-columns:auto 1fr auto;align-items:center;padding:1rem;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox[hidden]{display:none}@keyframes fade{0%{opacity:0}}.lb-figure{flex-direction:column;grid-column:2;align-items:center;gap:1rem;min-width:0;display:flex}.lb-figure [data-lb-stage]{justify-content:center;width:min(100%,72rem);display:flex}.lb-figure [data-lb-stage]>*{object-fit:contain;width:auto;max-width:100%;max-height:82svh}.lb-figure [data-lb-stage]>.ph{width:auto;height:70svh}.lb-count{letter-spacing:.24em;color:var(--ivory-muted);font-size:.75rem}.lb-btn{width:48px;height:48px;color:var(--ivory);cursor:pointer;border-radius:999px;place-items:center;transition:background-color .2s;display:grid}.lb-btn:hover{background:#f3ede21a}.lb-btn svg{width:1.6rem;height:1.6rem}.lb-close{position:absolute;top:1rem;right:1rem}.lb-prev{grid-column:1}.lb-next{grid-column:3}@media(max-width:640px){.lightbox{grid-template-columns:1fr;padding:4rem .5rem 5rem}.lb-figure{grid-area:1/1}.lb-prev,.lb-next{position:absolute;bottom:1rem}.lb-prev{left:25%}.lb-next{right:25%}}.js .reveal{opacity:0;transition:opacity .9s var(--ease-out)var(--d,0s),transform .9s var(--ease-out)var(--d,0s);transform:translateY(18px)}.js .reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-img{animation:none}.js .reveal{opacity:1;transition:none;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
