:root{--ink:#101514;--paper:#f4f3ed;--mint:#73dfd0;--blue:#28c9d4;--warm:#d9c5a3;--line:rgba(16,21,20,.2);--pad:clamp(22px,4vw,70px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","Yu Gothic",YuGothic,Arial,sans-serif;letter-spacing:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip{position:fixed;left:12px;top:-80px;background:#fff;padding:12px;z-index:100}.skip:focus{top:12px}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px var(--pad);color:#fff;transition:padding .35s,background-color .35s,color .35s,box-shadow .35s}.site-header.scrolled{padding-top:14px;padding-bottom:14px;color:var(--ink);background:rgba(244,243,237,.9);box-shadow:0 1px 0 rgba(16,21,20,.1);backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;line-height:.9}.brand-main{font-size:24px;font-weight:900}.brand-sub{font-size:9px;margin-top:8px}.header-actions{display:flex;align-items:center;gap:24px}.estimate{font-size:12px;border-bottom:1px solid;padding-bottom:5px}.menu-button{width:64px;height:64px;border:0;border-radius:50%;background:var(--blue);display:grid;place-content:center;gap:5px;color:var(--ink);cursor:pointer}.menu-button span{font-size:10px;font-weight:800}.menu-button i{display:block;width:22px;height:1px;background:var(--ink)}
.global-menu{position:fixed;z-index:50;inset:0;background:var(--blue);padding:clamp(40px,8vw,120px);display:flex;flex-direction:column;justify-content:center;transform:translateY(-105%);transition:transform .65s cubic-bezier(.75,0,.18,1)}.global-menu.open{transform:none}.global-menu a{display:grid;grid-template-columns:48px 1fr auto;align-items:end;border-bottom:1px solid rgba(0,0,0,.25);padding:12px 0;font-size:clamp(32px,6vw,88px);font-weight:800}.global-menu a span,.global-menu a small{font-size:11px;font-weight:500}.menu-label{position:absolute;top:30px;left:var(--pad);font-size:11px}.menu-close{position:absolute;right:var(--pad);top:24px;border:1px solid;background:none;border-radius:50%;width:58px;height:58px;font-size:30px;cursor:pointer}
.hero{height:100svh;min-height:620px;position:relative;color:#fff;overflow:hidden}.hero-media,.hero-shade,.hero-image{position:absolute;inset:0}.hero-image{height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.2s,transform 7s}.hero-image.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.06) 65%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%)}.hero-copy{position:absolute;left:var(--pad);bottom:12vh;z-index:2}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:0}.eyebrow{margin-bottom:24px}.hero h1{margin:0;font-size:clamp(48px,7.4vw,118px);line-height:.95;font-weight:700}.hero h1 em{font-style:normal;color:var(--mint)}.hero-lead{font-size:clamp(13px,1.2vw,18px);line-height:1.9;margin:24px 0 0}.hero-index{position:absolute;right:var(--pad);bottom:12vh;z-index:2;display:flex;align-items:end;gap:6px}.hero-index strong{font-size:48px}.hero-index span{font-size:11px;margin-bottom:8px}.scroll-cue{position:absolute;z-index:2;right:var(--pad);top:45%;display:flex;align-items:center;gap:12px;transform:rotate(90deg);transform-origin:right center;font-size:9px}.scroll-cue i{width:70px;height:1px;background:#fff}
.section-tone{transition:background-color .7s,color .7s}.concept{position:relative;min-height:125vh;padding:20vh var(--pad) 14vh;overflow:hidden;background:var(--paper)}.giant-copy{position:absolute;top:10vh;left:-1vw;font-size:clamp(90px,22vw,340px);line-height:.73;font-weight:900;color:var(--mint);pointer-events:none;display:flex;flex-direction:column}.giant-copy span{display:block;transform-origin:left center;will-change:transform}.concept-body{position:relative;z-index:2;width:min(560px,88vw);margin-left:auto;margin-top:36vh}.section-kicker{border-top:1px solid currentColor;padding-top:12px;margin:0 0 45px}.concept h2,.service h2,.works h2,.strength h2,.wedding h2,.guide h2,.contact h2{font-size:clamp(36px,5.2vw,78px);line-height:1.12;margin:0 0 35px}.concept-body>p:not(.section-kicker),.service-intro>p:last-child,.wedding-copy>p:not(.section-kicker){line-height:2;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:60px;border-bottom:1px solid;margin-top:30px;padding-bottom:10px;font-size:13px}.text-link span{font-size:18px}
.service{background:var(--ink);color:#fff;padding:18vh var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:10vw;position:relative}.service-intro{align-self:start}.light{color:var(--blue)}.orbit-wrap{height:440px;display:grid;place-items:center}.orbit{position:relative;width:min(340px,70vw);aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;animation:spin 22s linear infinite}.orbit:before{content:"";position:absolute;inset:17%;border:1px solid rgba(255,255,255,.18);border-radius:50%}.orbit b{position:absolute;inset:0;display:grid;place-items:center;font-size:70px;color:var(--blue)}.orbit span{position:absolute;font-size:9px;background:var(--ink);padding:5px}.o1{left:50%;top:-8px}.o2{right:-20px;top:48%}.o3{left:48%;bottom:-8px}.o4{left:-20px;top:48%}.orbit-hand{position:absolute;left:50%;top:50%;width:42%;height:2px;background:var(--blue);transform-origin:left;animation:hand 9s linear infinite}.orbit-hand:after{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;background:var(--blue);border-radius:50%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hand{to{transform:rotate(360deg)}}.service-list{grid-column:1/-1}.service-list a{display:grid;grid-template-columns:60px 1fr 30px;align-items:center;border-top:1px solid rgba(255,255,255,.25);padding:30px 0}.service-list a:last-child{border-bottom:1px solid rgba(255,255,255,.25)}.service-list b{font-size:11px;color:var(--blue)}.service-list span{font-size:clamp(20px,2.6vw,38px)}.service-list small{display:block;font-size:11px;font-weight:400;margin-top:8px;color:#aaa}.service-list i{font-style:normal;font-size:20px}
.works{padding:18vh var(--pad);background:var(--paper)}.works-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:14vh}.works-head>div{max-width:800px}.works-head>p{line-height:1.8;font-size:13px}.works-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(30px,6vw,90px) 28px}.work figure{margin:0;overflow:hidden;background:#ddd}.work img{height:100%;object-fit:cover;transition:transform .7s}.work:hover img{transform:scale(1.035)}.work div{padding-top:14px}.work span{font-size:9px;color:#5a6764}.work h3{font-size:clamp(18px,2vw,30px);margin:7px 0}.work p{font-size:11px}.work-a{grid-column:1/8}.work-a figure{aspect-ratio:16/10}.work-b{grid-column:9/13;margin-top:18vh}.work-b figure{aspect-ratio:4/5}.work-c{grid-column:2/6;margin-top:5vh}.work-c figure{aspect-ratio:4/5}.work-d{grid-column:7/13;margin-top:20vh}.work-d figure{aspect-ratio:16/10}.all-works{display:flex;justify-content:space-between;border-top:1px solid;margin-top:13vh;padding-top:20px;font-size:clamp(24px,3vw,44px)}
.strength{padding:18vh var(--pad);background:var(--blue);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.strength-items article{padding:28px 0;border-top:1px solid rgba(0,0,0,.35)}.strength-items b{font-size:10px}.strength-items h3{font-size:25px;margin:20px 0 10px}.strength-items p{line-height:1.8;font-size:13px;max-width:480px}.wedding{min-height:100vh;display:grid;grid-template-columns:58% 42%;background:#d9c5a3}.wedding>img{height:100%;object-fit:cover;min-height:100vh}.wedding-copy{padding:16vh clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.guide{padding:18vh var(--pad)}.guide h2{max-width:900px}.guide-links{margin-top:10vh}.guide-links a{display:grid;grid-template-columns:100px 1fr 30px;border-top:1px solid;padding:25px 0;font-size:clamp(20px,2.8vw,40px)}.guide-links a:last-child{border-bottom:1px solid}.guide-links span{font-size:9px}.guide-links i{font-style:normal}.contact{padding:18vh var(--pad);background:var(--blue);text-align:center}.contact .section-kicker{width:200px;margin:0 auto 45px}.contact p:not(.section-kicker){line-height:1.8}.contact>a{display:inline-flex;justify-content:space-between;align-items:center;width:min(600px,100%);border:1px solid;border-radius:50%;padding:28px 40px;margin-top:40px;font-weight:700}footer{background:var(--ink);color:#fff;padding:80px var(--pad) 35px}.footer-brand{font-size:clamp(50px,10vw,140px);font-weight:900;line-height:.8}.footer-brand small{display:block;font-size:10px;margin-top:24px}footer nav{display:flex;flex-wrap:wrap;gap:28px;margin:70px 0;font-size:12px}footer>p{font-size:9px;color:#888}
@media(max-width:800px){.site-header{padding-top:16px}.site-header.scrolled{padding-top:10px;padding-bottom:10px}.estimate{display:none}.menu-button{width:54px;height:54px}.hero h1{font-size:clamp(39px,12.3vw,54px)}.hero h1 em{font-size:.88em}.hero-copy{bottom:13vh}.hero-lead br{display:none}.hero-index{display:none}.scroll-cue{top:auto;bottom:30px}.concept{min-height:110vh;padding-top:16vh;padding-bottom:12vh}.giant-copy{font-size:32vw;top:9vh}.concept-body{margin-top:32vh}.service{grid-template-columns:1fr;padding-top:14vh}.orbit-wrap{height:330px}.service-list{grid-column:auto}.works{padding-top:14vh}.works-head{display:block}.works-head>p{margin-top:35px}.works-grid{display:block}.work{display:block;margin:0 0 70px}.work figure{aspect-ratio:4/3!important}.strength{grid-template-columns:1fr}.wedding{grid-template-columns:1fr}.wedding>img{min-height:60vh;height:60vh}.guide-links a{grid-template-columns:65px 1fr 20px}.global-menu a{grid-template-columns:35px 1fr}.global-menu a small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.section-kicker{font-size:clamp(18px,2.2vw,30px);font-weight:800}.service-list a{grid-template-columns:1fr 30px}.service-list b{display:none}.global-menu a{grid-template-columns:1fr auto}.service h2{font-size:clamp(38px,4.2vw,64px);max-width:700px}.strength h2{font-size:clamp(36px,4vw,60px);max-width:520px}.wedding h2{font-size:clamp(34px,3.5vw,52px);line-height:1.25}.wedding-copy{padding-left:clamp(30px,4vw,70px);padding-right:clamp(30px,4vw,70px)}
@media(max-width:1100px) and (min-width:801px){.service{grid-template-columns:1fr}.service-intro{max-width:760px}.service-list{grid-column:auto}.orbit-wrap{height:360px}.strength{grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:7vw}.wedding{grid-template-columns:52% 48%}.wedding h2{font-size:clamp(34px,3.8vw,43px)}}
.site-header{gap:16px}.site-header .brand{display:block;white-space:nowrap;line-height:1.2}.header-actions{flex-shrink:0}.site-header .brand-main{font-size:24px}
@media(max-width:800px){.site-header .brand-main{font-size:18px}}
@media(max-width:360px){.site-header .brand-main{font-size:16px}}
