:root{color-scheme:dark;--ink:#050608;--paper:#f6f4ee;--muted:#a7a9ad;--line:rgba(255,255,255,.15);--ease:cubic-bezier(.76,0,.24,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.ambient{position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,#020405,#07100f 52%,#020405)}.ambient:before{content:"";position:absolute;top:50%;left:50%;width:min(82vw,980px);height:min(72vh,760px);border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(248,255,249,.9) 0 10%,rgba(171,255,222,.62) 23%,transparent 60%),radial-gradient(ellipse at 37% 42%,rgba(91,235,204,.52),transparent 48%),radial-gradient(ellipse at 64% 58%,rgba(109,170,255,.38),transparent 50%);filter:blur(46px);opacity:.72;transform:translate(-50%,-50%) scale(.82) rotate(-5deg);transition:.9s var(--ease)}body:has(.logo-trigger:hover) .ambient:before,body:has(.logo-trigger:focus-visible) .ambient:before{opacity:1;filter:blur(58px);transform:translate(-50%,-50%) scale(1.12) rotate(4deg)}body.is-open .ambient:before{opacity:.12;transform:translate(-50%,-50%) scale(1.35)}.site-header{position:fixed;inset:0;z-index:10}.nav-shell{position:absolute;inset:0}.nav-shell:before{content:"";position:absolute;inset:0 0 auto;height:92px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .34s;box-shadow:0 12px 40px rgba(0,0,0,.18)}.logo-trigger{position:absolute;top:50%;left:50%;width:min(50vw,560px);padding:0;border:0;background:transparent;cursor:pointer;transform:translate(-50%,-50%);transition:top 1s var(--ease),left 1s var(--ease),width 1s var(--ease),transform 1s var(--ease)}.logo-trigger img{display:block;width:100%;filter:drop-shadow(0 3px 2px rgba(255,255,255,.1))}.enter-hint{position:absolute;left:50%;bottom:-42px;translate:-50%;font-size:.72rem;font-weight:700;letter-spacing:.36em}.main-nav{position:absolute;top:0;right:clamp(24px,5vw,80px);height:92px;display:flex;align-items:center;gap:clamp(22px,3.5vw,60px);opacity:0;pointer-events:none;transform:translateY(-14px);transition:opacity .45s ease .85s,transform .6s var(--ease) .8s}.main-nav a{color:#111317;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.main-nav a:hover{text-decoration:underline;text-underline-offset:9px}body.is-open .site-header{inset:0 0 auto;height:92px}body.is-open .nav-shell:before{transform:scaleX(1)}body.is-open .logo-trigger{top:10px;left:clamp(18px,4vw,64px);width:64px;transform:none}body.is-open .enter-hint{opacity:0}body.is-open .main-nav{opacity:1;pointer-events:auto;transform:none}main#main-content{opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .8s ease 1s,transform .8s var(--ease) 1s,visibility 0s linear 1s}body.is-open main#main-content{opacity:1;visibility:visible;transform:none}.welcome{min-height:100vh;padding:190px 5vw 80px;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--muted);font-size:.76rem;letter-spacing:.38em}.welcome h1,.gallery-header h1,.contact-copy h1{margin:20px 0 24px;max-width:980px;font-family:Georgia,serif;font-size:clamp(3rem,7.5vw,7.8rem);font-weight:400;line-height:.93;letter-spacing:-.045em}.intro-copy{max-width:560px;color:#b7b9bd;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.7}.text-link,.outline-button{width:max-content;margin-top:26px;color:var(--paper);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:7px}.content-section{width:90%;min-height:82vh;margin:auto;padding:120px 0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:clamp(40px,7vw,120px);border-top:1px solid var(--line);scroll-margin-top:90px}.section-number{color:#777b80;font-size:.76rem}.section-intro h2{margin:18px 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,7rem);font-weight:400;line-height:1}.section-intro p,.section-content p{color:#b7b9bd;line-height:1.75}.section-content{padding-top:46px;font-size:1.05rem}.section-content .lead{font-size:clamp(1.2rem,2vw,1.7rem);color:#e0e1df}.section-content h3{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.4rem);font-weight:400}.section-content figure{margin:36px 0}.section-content figure img{width:100%;max-height:650px;object-fit:cover}.gallery-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:42px}.gallery-card{color:inherit;text-decoration:none}.gallery-card-grid{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.35;overflow:hidden}.gallery-card-grid img{width:100%;height:100%;object-fit:cover;min-height:0}.gallery-card-copy{display:block;padding:18px 0}.gallery-card-copy strong{display:block;font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.gallery-card-copy small{display:block;color:var(--muted);margin-top:7px;font-size:.9rem}.iframe-view{overflow:hidden}.module-frame{position:fixed;inset:0;width:100%;height:100%;border:0;background:#07100f}.iframe-back{position:fixed;z-index:2;top:18px;left:20px;padding:11px 16px;border-radius:99px;background:rgba(5,6,8,.8);color:white;text-decoration:none;backdrop-filter:blur(12px)}.contact-module{background:#e9f4ef;color:#081411}.contact-wrap{width:min(1100px,90%);min-height:100vh;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding:80px 0}.contact-copy h1{font-size:clamp(3.2rem,7vw,7rem)}.contact-copy>p{font-size:1.25rem}.contact-details,.social-links{display:flex;flex-direction:column;gap:10px;margin-top:35px}.contact-copy a{color:#081411}.social-links{flex-direction:row;gap:22px}.contact-form{padding:clamp(26px,5vw,58px);background:#07100f;color:white}.contact-form label{display:grid;gap:9px;margin-bottom:20px;font-size:.9rem}.contact-form input,.contact-form textarea{width:100%;padding:14px 0;border:0;border-bottom:1px solid #53635e;background:transparent;color:white;font:inherit}.contact-form button{padding:14px 22px;border:0;background:#c7f5dc;color:#07100f;font-weight:800}.notice{padding:12px;background:#d9fbe8;color:#092a18}.notice.error{background:#ffd7d7;color:#5b0808}.gallery-page{background:#050608}.gallery-header{width:90%;margin:auto;padding:45px 0 60px;display:grid;grid-template-columns:1fr 2fr;gap:5vw}.gallery-header>a{color:white;text-decoration:none}.gallery-header h1{font-size:clamp(3rem,7vw,7rem)}.full-gallery{width:90%;margin:auto 0 0 5%;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:80px}.gallery-thumb{position:relative;aspect-ratio:4/3;padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-thumb:hover img{transform:scale(1.04)}.gallery-thumb span{position:absolute;inset:auto 0 0;padding:30px 14px 12px;text-align:left;color:white;background:linear-gradient(transparent,rgba(0,0,0,.8))}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;padding:0;border:0;background:rgba(0,0,0,.96);color:white}.lightbox::backdrop{background:#000}.lightbox figure{width:100%;height:100%;margin:0;display:grid;place-items:center}.lightbox figure img{max-width:92vw;max-height:86vh}.lightbox figcaption{position:absolute;bottom:20px}.lightbox button{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.12);color:white;font-size:1.5rem;padding:12px;cursor:pointer}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:18px;top:50%}.lightbox-next{right:18px;top:50%}@media(max-width:760px){.nav-shell:before,body.is-open .site-header,.main-nav{height:78px}body.is-open .logo-trigger{top:8px;left:10px;width:56px}.logo-trigger{width:min(80vw,430px)}.main-nav{left:80px;right:0;gap:24px;overflow-x:auto;padding-right:20px}.main-nav a{font-size:.7rem}.content-section{grid-template-columns:1fr;width:90%;padding:90px 0;gap:10px}.section-content{padding-top:10px}.gallery-previews{grid-template-columns:1fr}.contact-wrap{grid-template-columns:1fr;padding:90px 0 30px}.gallery-header{grid-template-columns:1fr;padding-top:80px}.full-gallery{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
