:root{--black:#090a0a;--charcoal:#121414;--ink:#171b19;--paper:#f7f6f2;--white:#fff;--muted:#6f7571;--muted-dark:#a4aaa6;--line:#d5d7d3;--line-dark:rgba(255,255,255,.17);--green:#27483d;--accent:#8da597;--ease:cubic-bezier(.22,1,.36,1);--font-en:'Manrope','Helvetica Neue',Arial,sans-serif;--font-jp:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--font-serif:'Noto Serif JP','Yu Mincho','YuMincho','Hiragino Mincho ProN',serif}
h1,h2,h3{font-family:var(--font-serif)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;background:var(--black)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-jp);font-size:16px;font-weight:300;line-height:1.95;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300}h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.55;letter-spacing:.045em}.skip{position:fixed;top:-100px;left:10px;padding:10px 16px;z-index:100;color:var(--white);background:var(--black)}.skip:focus{top:10px}
.header{--scroll-progress:0;position:sticky;top:0;z-index:30;height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;color:#f5f5f2;background:rgba(9,10,10,.92);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}.header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(var(--scroll-progress));transform-origin:left}.logo{font-family:var(--font-en);font-size:1.35rem;font-weight:500;line-height:1;letter-spacing:.045em;white-space:nowrap}.logo span{display:block;margin-top:9px;color:#aeb6b1;font-size:.56rem;font-weight:400;letter-spacing:.24em}.header nav{display:flex;gap:28px;align-items:center;font-family:var(--font-en);font-size:.68rem;font-weight:400;letter-spacing:.16em}.header nav a{position:relative;padding:12px 0;transition:color .35s}.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.header nav a:hover{color:var(--accent)}.header nav a:hover::after{transform:scaleX(1);transform-origin:left}.header nav .nav-contact{margin-left:10px;padding-inline:18px;border:1px solid rgba(255,255,255,.34)}.header nav .nav-contact::after{display:none}.nav-contact span{margin-left:18px}.menu-toggle{display:none}
.hero{position:relative;height:calc(100svh - 88px);min-height:650px;max-height:1040px;color:var(--white);background:var(--black);overflow:hidden;isolation:isolate}.hero-photo{position:absolute;inset:-5%;z-index:-1;overflow:hidden}.hero-photo img{width:100%;height:110%;object-fit:cover;object-position:center;filter:brightness(.58) saturate(.84) contrast(1.04);transform:scale(1.045);will-change:transform}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,6,.7) 0%,rgba(4,7,6,.25) 52%,rgba(4,7,6,.1) 100%),linear-gradient(0deg,rgba(3,5,4,.72) 0%,transparent 48%)}.image-caption{position:absolute;right:4.5%;bottom:5%;z-index:2;font-family:var(--font-en);font-size:.58rem;letter-spacing:.17em;color:rgba(255,255,255,.72)}.hero-content{position:relative;height:100%;padding:8vh 7% 6vh;display:flex;flex-direction:column;justify-content:center;will-change:transform}.eyebrow{font-family:var(--font-en);font-size:.68rem;font-weight:400;line-height:1.7;letter-spacing:.2em}.hero .eyebrow{opacity:0;transform:translateY(12px)}.hero h1{margin:26px 0 20px;font-size:clamp(2.9rem,6vw,6.1rem);font-weight:300;line-height:1.34;letter-spacing:.085em}.hero h1 span{display:block;opacity:0;transform:translateY(100%);clip-path:inset(0 0 100% 0)}.hero-disciplines{font-family:var(--font-en);font-size:clamp(1.2rem,2.25vw,2.05rem);font-weight:300;letter-spacing:.2em;opacity:0;transform:translateY(15px)}.hero-disciplines i{margin:0 10px;color:rgba(255,255,255,.48);font-style:normal;font-weight:300}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:48px;opacity:0;transform:translateY(14px)}.hero-bottom p{font-size:.82rem;line-height:2.1;letter-spacing:.07em}.scroll-link{display:flex;gap:26px;align-items:center;margin-bottom:10px;font-family:var(--font-en);font-size:.58rem;letter-spacing:.18em}.scroll-link span{font-size:1.55rem;font-weight:300;animation:scroll-breathe 2.2s ease-in-out infinite}.is-loaded .hero .eyebrow{animation:hero-in .9s .15s var(--ease) forwards}.is-loaded .hero h1 span:first-child{animation:hero-line 1.15s .28s var(--ease) forwards}.is-loaded .hero h1 span:last-child{animation:hero-line 1.15s .4s var(--ease) forwards}.is-loaded .hero-disciplines{animation:hero-in 1s .65s var(--ease) forwards}.is-loaded .hero-bottom{animation:hero-in 1s .82s var(--ease) forwards}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}@keyframes hero-line{to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}@keyframes scroll-breathe{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}
.section{position:relative;padding:118px 7%;scroll-margin-top:0}.section-label{display:flex;justify-content:space-between;margin-bottom:70px;padding-top:15px;border-top:1px solid var(--line);font-family:var(--font-en);font-size:.65rem;font-weight:400;letter-spacing:.18em;line-height:1.7}.section-label span:last-child{color:var(--muted);font-family:var(--font-jp);letter-spacing:.09em}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:65px}.section-heading>p{max-width:360px;color:var(--muted);font-size:.84rem;line-height:2.1}.about{padding-top:110px;padding-bottom:130px;background:var(--paper)}.about-content{padding-left:25%}.about h2{margin:25px 0 42px;font-size:clamp(2.5rem,4.6vw,4.7rem);line-height:1.45}.about-copy{max-width:760px;font-size:.94rem;line-height:2.25}.about-copy p+p{margin-top:24px}.process-line{display:flex;align-items:center;gap:30px;margin-top:52px;color:var(--green);font-family:var(--font-en);font-size:1.05rem;letter-spacing:.22em}.process-line b{color:#91a098;font-size:1.1rem;font-weight:300}
.service{color:#f0f1ed;background:var(--charcoal)}.service .section-label,.works .section-label,.profile .section-label{border-color:var(--line-dark)}.service .section-label span:last-child,.works .section-label span:last-child,.profile .section-label span:last-child{color:var(--muted-dark)}.service .section-heading>p,.works .section-heading>p{color:var(--muted-dark)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.service-item{position:relative;padding-top:26px;border-top:1px solid var(--line-dark);transition:border-color .5s,transform .7s var(--ease)}.service-item::before{content:'';position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--accent);transition:width .8s var(--ease)}.service-item:hover{transform:translateY(-5px)}.service-item:hover::before{width:100%}.service-num{color:var(--accent);font-family:var(--font-en);font-size:.67rem;letter-spacing:.14em}.service-item h3{margin:18px 0 15px;font-family:var(--font-en);font-size:clamp(2.7rem,4vw,4.2rem);font-weight:300;line-height:1.15;letter-spacing:-.045em}.service-title{margin-bottom:25px;font-size:1rem;font-weight:400}.service-text{min-height:128px;color:#b6bcb8;font-size:.88rem;line-height:2.05}.service-tags{margin-top:30px;color:#858e89;font-family:var(--font-en);font-size:.58rem;letter-spacing:.16em}
.works{padding-bottom:135px;color:#f3f3f0;background:var(--black)}.work-filters{display:flex;gap:9px;flex-wrap:wrap}.work-filters:not(:empty){margin-bottom:34px}.work-filters button{padding:9px 17px;color:#aaafac;background:transparent;border:1px solid rgba(255,255,255,.17);font-family:var(--font-en);font-size:.65rem;letter-spacing:.1em;transition:color .35s,background .35s,border-color .35s}.work-filters button:hover{color:var(--white);border-color:rgba(255,255,255,.45)}.work-filters button[aria-pressed=true]{color:var(--black);background:#e7e7e2;border-color:#e7e7e2}.work-placeholder{min-height:450px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;background:#171918;border:1px solid var(--line-dark)}.work-placeholder .placeholder-title{color:#656b67;font-family:var(--font-en);font-size:clamp(2rem,5vw,4rem);font-weight:300;letter-spacing:-.03em}.work-placeholder p,.work-foot{color:var(--muted-dark);font-size:.78rem}.work-placeholder small{color:var(--accent);font-family:var(--font-en);font-size:.6rem;letter-spacing:.2em}.work-foot{display:flex;justify-content:space-between;margin-top:17px}.work-entry{margin-bottom:45px}.work-cover{--shift-x:0px;--shift-y:0px;position:relative;display:block;width:100%;padding:0;overflow:hidden;color:white;background:#202321;border:0;text-align:left}.work-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,5,.5),transparent 46%);opacity:.25;transition:opacity .7s;pointer-events:none}.work-cover img{display:block;width:100%;max-height:720px;object-fit:cover;filter:brightness(.92) saturate(.92);transform:translate3d(var(--shift-x),var(--shift-y),0) scale(1.012);transition:transform 1.15s var(--ease),filter .8s;will-change:transform}.work-cover:hover img,.work-cover:focus-visible img{filter:brightness(.72) saturate(.82);transform:translate3d(var(--shift-x),var(--shift-y),0) scale(1.055)}.work-cover:hover::after,.work-cover:focus-visible::after{opacity:1}.work-cue{position:absolute;right:13px;bottom:13px;z-index:2;display:flex;align-items:center;gap:15px;padding:9px 11px;color:#f3f3ef;background:rgba(9,10,10,.78);border:1px solid rgba(255,255,255,.16);font-family:var(--font-en);font-size:.5rem;letter-spacing:.14em;opacity:0;transform:translateY(8px);transition:opacity .55s,transform .55s var(--ease);backdrop-filter:blur(8px)}.work-cue b{font-size:.9rem;font-weight:300}.work-cover:hover .work-cue,.work-cover:focus-visible .work-cue{opacity:1;transform:translateY(0)}.work-details{display:block;padding-top:12px}.work-details h3{margin:0;color:#e8e9e5;font-size:.9rem;font-weight:300;line-height:1.65;letter-spacing:.035em;transition:color .35s,transform .55s var(--ease)}.work-entry:hover .work-details h3{color:var(--white);transform:translateX(4px)}.work-details p{margin-top:3px;color:#777f7a;font-family:var(--font-en);font-size:.56rem;line-height:1.6;letter-spacing:.11em}.work-grid-portfolio{column-count:4;column-gap:19px}.work-grid-portfolio .work-entry{display:inline-block;width:100%;margin:0 0 33px;break-inside:avoid;vertical-align:top}.work-grid-portfolio .work-cover img{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}.work-grid-portfolio .work-entry:nth-child(6n+2) .work-cover img{aspect-ratio:1/1}.work-grid-portfolio .work-entry:nth-child(6n+3) .work-cover img{aspect-ratio:5/4}.work-grid-portfolio .work-entry:nth-child(6n+4) .work-cover img{aspect-ratio:3/2}.work-grid-portfolio .work-entry:nth-child(6n+5) .work-cover img{aspect-ratio:6/5}.work-grid-portfolio .work-entry:nth-child(6n) .work-cover img{aspect-ratio:16/11}
.photo-price{background:#efeee9}.photo-price .section-heading{margin-bottom:72px}.photo-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bdc1bd;border-bottom:1px solid #bdc1bd}.photo-plan{position:relative;min-height:510px;padding:30px 26px 34px;border-left:1px solid #c9ccc8;transition:background .55s,transform .7s var(--ease)}.photo-plan:first-child{border-left:0}.photo-plan:hover{z-index:1;background:rgba(255,255,255,.5);transform:translateY(-5px)}.photo-plan-number{display:block;color:#758078;font-family:var(--font-en);font-size:.58rem;letter-spacing:.18em}.photo-plan h3{margin:44px 0 21px;font-family:var(--font-en);font-size:clamp(1rem,1.25vw,1.3rem);font-weight:400;line-height:1.35;letter-spacing:.12em}.photo-plan-amount{display:flex;align-items:baseline;gap:6px;margin-bottom:36px;font-family:var(--font-serif);line-height:1.2}.photo-plan-amount strong{font-size:clamp(1.85rem,2.35vw,2.55rem);font-weight:300;letter-spacing:.02em}.photo-plan-amount span{font-size:.75rem}.photo-plan dl{margin:0}.photo-plan dl div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #ced1cd;font-size:.72rem}.photo-plan dt{color:var(--muted)}.photo-plan dd{margin:0;text-align:right}.photo-plan-description{margin-top:29px;color:#5e6661;font-size:.74rem;line-height:2}.photo-plan-large{color:#f0f1ed;background:var(--charcoal);border-color:var(--charcoal)}.photo-plan-large:hover{background:#1b1e1d}.photo-plan-large .photo-plan-number{color:var(--accent)}.photo-plan-large .photo-plan-estimate{display:block;margin:26px 0 28px;font-size:clamp(1.45rem,1.8vw,1.85rem);letter-spacing:.08em}.photo-plan-large .photo-plan-description{color:#aeb5b1}.photo-options{display:grid;grid-template-columns:.55fr 1.45fr;gap:8%;margin-top:74px;padding:28px 0;border-top:1px solid #bdc1bd;border-bottom:1px solid #bdc1bd}.photo-options-heading>span{color:#758078;font-family:var(--font-en);font-size:.58rem;letter-spacing:.2em}.photo-options-heading h3{margin-top:9px;font-size:1.05rem;font-weight:400;letter-spacing:.06em}.photo-options dl{margin:0}.photo-options dl div{display:grid;grid-template-columns:1fr auto;gap:30px;padding:11px 0;border-top:1px solid #d2d4d0;font-size:.76rem}.photo-options dl div:first-child{border-top:0}.photo-options dd{margin:0;color:#646c67}.photo-price-note{max-width:820px;margin-top:19px;color:var(--muted);font-size:.67rem;line-height:1.9}.photo-price-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-top:64px;padding-top:27px;border-top:1px solid #bdc1bd}.photo-price-cta p{font-family:var(--font-serif);font-size:clamp(1rem,1.5vw,1.35rem);letter-spacing:.04em}.photo-price-cta p>span{display:block;margin-bottom:8px;color:#758078;font-family:var(--font-en);font-size:.56rem;letter-spacing:.18em}.photo-price-cta a{display:flex;min-width:245px;justify-content:space-between;align-items:center;padding:17px 20px;color:var(--white);background:var(--ink);font-size:.76rem;transition:background .4s,transform .45s var(--ease)}.photo-price-cta a:hover{background:var(--green);transform:translateY(-3px)}.photo-price-cta a span{font-size:1.05rem}
.web{color:var(--white);background:var(--green)}.web .section-label{border-color:rgba(255,255,255,.26)}.web .section-label span:last-child{color:#b9c7c0}.web-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.web-title h2{margin-top:25px;font-size:clamp(2.1rem,3.7vw,3.75rem)}.text-link{position:relative;display:inline-flex;gap:45px;justify-content:space-between;align-items:center;margin-top:40px;padding:15px 0;border-bottom:1px solid;font-size:.82rem}.text-link span{font-size:1.25rem;transition:transform .45s var(--ease)}.text-link:hover span{transform:translate(5px,-5px)}.web-detail{padding-top:8px}.web-detail .lead{margin-bottom:27px;font-size:1.12rem;line-height:2}.web-detail>p:not(.lead){color:#d2dcd7;font-size:.88rem;line-height:2.15}.web-features{margin:37px 0;padding:0;list-style:none}.web-features li{padding:16px 0;border-top:1px solid rgba(255,255,255,.23);font-size:.82rem}.web-features li:last-child{border-bottom:1px solid rgba(255,255,255,.23)}.web-features span{margin-right:17px;color:#a9beb3;font-family:var(--font-en);font-size:.62rem}.web-price>span{font-size:.72rem}.web-price>p{margin:7px 0 13px;font-family:var(--font-en);font-size:clamp(1.55rem,2.4vw,2.3rem);font-weight:300;letter-spacing:.02em}.web-price>p span{color:#9fb4a9;font-size:1.1rem}.web-price small{display:block;color:#bdcbc4;font-size:.7rem;line-height:1.85}.web-detail .monitor{margin-top:24px;font-size:.7rem!important}
.flow{background:var(--paper)}.flow-list{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 46px;margin:64px 0 82px;padding:0;list-style:none}.flow-list li{padding-top:21px;border-top:1px solid var(--line)}.flow-list li>span{color:#708078;font-family:var(--font-en);font-size:.61rem;letter-spacing:.13em}.flow-list h3{margin:15px 0 12px;font-size:1rem;font-weight:400}.flow-list p{color:var(--muted);font-size:.81rem}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:25px 0;border-top:1px solid var(--line)}.price-row:last-child{border-bottom:1px solid var(--line)}.price-row h3{font-size:.9rem;font-weight:400}.price-row p{font-family:var(--font-en);font-size:1.12rem;line-height:1.7}.price-row small,.price-note{color:var(--muted);font-size:.7rem}.price-note{margin-top:21px}
.profile{color:#f0f1ed;background:var(--charcoal);overflow:hidden}.profile-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:center}.profile-mark{position:relative;padding:62px 0 54px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.profile-mark::after{content:'';position:absolute;top:-80px;right:8%;width:1px;height:calc(100% + 160px);background:var(--line-dark)}.profile-mark>span{display:block;font-family:var(--font-en);font-size:clamp(3.7rem,7vw,7.2rem);font-weight:300;line-height:.84;letter-spacing:-.07em}.profile-mark>span:last-of-type{margin-left:13%;color:#959d98}.profile-mark small{display:block;margin-top:34px;color:var(--accent);font-family:var(--font-en);font-size:.58rem;letter-spacing:.2em}.profile-copy h2{margin:24px 0 30px;font-size:clamp(1.75rem,2.6vw,2.5rem)}.profile-name{margin-bottom:27px;color:#929a95;font-size:.7rem}.profile-name strong{margin-left:23px;color:#f0f1ed;font-size:1.4rem;font-weight:300}#profile-text{color:#b7bdb9;font-size:.88rem;line-height:2.25}
.contact{padding-bottom:110px;background:#f2f1ed}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-word{margin-bottom:42px;color:var(--green);font-family:var(--font-en);font-size:clamp(4.8rem,8.5vw,8.5rem);font-weight:300;line-height:.84;letter-spacing:-.075em}.contact h2{margin-bottom:23px;font-size:1.55rem}.contact-layout>div>p:last-child{color:var(--muted);font-size:.82rem;line-height:2.1}form label{display:flex;align-items:center;gap:16px;margin:23px 0 8px;font-size:.78rem}form label span{color:#858d88;font-size:.58rem}input,select,textarea{display:block;width:100%;padding:14px 2px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #afb5b0;border-radius:0;font-size:1rem;font-weight:300;resize:vertical;transition:border-color .3s}input:focus,select:focus,textarea:focus{border-color:var(--green)}input::placeholder,textarea::placeholder{color:#8c928e;font-size:.77rem}.privacy{margin:19px 0;color:var(--muted);font-size:.64rem}.submit-button{display:flex;justify-content:space-between;width:100%;padding:19px 24px;color:white;background:var(--ink);border:0;font-size:.8rem;transition:background .35s,transform .35s}.submit-button:hover{background:var(--green);transform:translateY(-2px)}.form-notice{padding:14px 16px;color:#59635e;background:#e7e8e3;font-size:.7rem;line-height:1.8}.form-notice:empty,.form-result:empty{display:none}.form-result{margin-top:16px;font-size:.8rem}
footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:58px 7%;color:var(--white);background:var(--black);border-top:1px solid rgba(255,255,255,.1)}.footer-logo{font-family:var(--font-en);font-size:clamp(1.5rem,3vw,2.8rem);font-weight:300;letter-spacing:.02em}footer>div{display:flex;flex-direction:column;gap:7px;margin-left:auto;font-family:var(--font-en);font-size:.62rem;letter-spacing:.15em}footer small{color:#909893;font-size:.58rem;letter-spacing:.04em}.back-top{display:grid;width:46px;height:46px;margin-left:20px;place-content:center;border:1px solid rgba(255,255,255,.35);font-size:1.2rem;transition:color .35s,background .35s}.back-top:hover{color:var(--black);background:var(--white)}
dialog{width:min(560px,90vw);max-height:85svh;padding:35px;overflow:auto;color:var(--ink);background:var(--paper);border:1px solid var(--line)}dialog::backdrop{background:rgba(5,7,6,.83);backdrop-filter:blur(8px)}dialog h2{margin:12px 0 25px;font-size:1.45rem}.dialog-close{position:absolute;top:10px;right:15px;padding:5px;background:transparent;border:0;font-size:1.7rem}.confirmation-row{padding:12px 0;overflow-wrap:anywhere;white-space:pre-wrap;border-top:1px solid var(--line)}.confirmation-row strong{display:block;color:var(--muted);font-size:.7rem;font-weight:400}#confirmation-note{margin-top:15px;font-size:.76rem}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions button{padding:12px 20px;background:#ecece7;border:1px solid var(--line)}#confirm-send{color:white;background:var(--green)}button:disabled{cursor:not-allowed;opacity:.5}
.gallery-open{overflow:hidden}#gallery-dialog{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow-y:auto;color:white;background:#0b0c0c;border:0}#gallery-dialog::backdrop{background:#0b0c0c}.gallery-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:23px 4%;background:rgba(11,12,12,.91);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px)}.gallery-bar>div{min-width:0}.gallery-bar>div>span{display:block;color:var(--accent);font-family:var(--font-en);font-size:.58rem;letter-spacing:.18em}.gallery-bar h2{margin:5px 0 2px;overflow:hidden;font-size:clamp(1.25rem,2.2vw,1.95rem);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.gallery-bar p{color:#aeb5b1;font-family:var(--font-en);font-size:.62rem;letter-spacing:.1em}.gallery-bar button{flex:none;padding:11px 14px;color:white;background:transparent;border:1px solid rgba(255,255,255,.34);font-family:var(--font-en);font-size:.58rem;letter-spacing:.14em}.gallery-bar button span{margin-left:12px;font-size:1.15rem}.gallery-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.gallery-image{position:relative;margin:0;background:#171918}.gallery-image-featured{grid-column:1/-1}.gallery-image img{display:block;width:100%;height:auto;min-height:42vw;max-height:88vh;object-fit:contain;background:#0b0c0c}.gallery-image-featured img{min-height:0;max-height:none}.gallery-image figcaption{position:absolute;right:12px;bottom:10px;padding:4px 8px;color:#d7dbd8;background:rgba(11,12,12,.74);font-family:var(--font-en);font-size:.52rem;letter-spacing:.13em}
html:not(.js-motion) .hero .eyebrow,html:not(.js-motion) .hero h1 span,html:not(.js-motion) .hero-disciplines,html:not(.js-motion) .hero-bottom{opacity:1;transform:none;clip-path:none}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(30px);filter:blur(0);transition:opacity .9s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}.js-motion .reveal.reveal-blur{transform:translateY(20px);filter:blur(8px)}.js-motion .reveal.reveal-left{transform:translateX(-30px)}.js-motion .reveal.visible{opacity:1;transform:none;filter:blur(0)}.js-motion .services .reveal:nth-child(2),.js-motion .flow-list .reveal:nth-child(2),.js-motion .flow-list .reveal:nth-child(5){transition-delay:.08s}.js-motion .services .reveal:nth-child(3),.js-motion .flow-list .reveal:nth-child(3),.js-motion .flow-list .reveal:nth-child(6){transition-delay:.16s}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100% - 1440px)/2));padding-right:max(7%,calc((100% - 1440px)/2))}}@media(max-width:1199px){.work-grid-portfolio{column-count:3}}@media(max-width:1000px){.header{height:82px}.header nav{gap:15px;font-size:.58rem}.logo{font-size:1.2rem}.section{padding:90px 6%}.hero{height:calc(100svh - 82px);min-height:610px}.hero-content{padding:8vh 6% 7vh}.services{gap:27px}.web-layout,.contact-layout{gap:7%}.profile-layout{gap:7%}.about-content{padding-left:15%}.photo-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-plan{min-height:460px}.photo-plan:nth-child(odd){border-left:0}.photo-plan:nth-child(n+3){border-top:1px solid #c9ccc8}.photo-plan-large{border-color:var(--charcoal)}}@media(max-width:820px){.work-grid-portfolio{column-count:2;column-gap:13px}.work-grid-portfolio .work-entry{margin-bottom:25px}.work-grid-portfolio .work-details h3{font-size:.82rem}}
@media(max-width:760px){html{scroll-padding-top:74px}body{line-height:1.9}.header{height:74px;padding:0 6%}.logo{font-size:1.18rem}.logo span{margin-top:7px;font-size:.47rem;letter-spacing:.2em}.menu-toggle{display:flex;align-items:center;gap:12px;padding:12px 0 12px 15px;color:#f3f3ef;background:none;border:0;font-family:var(--font-en);font-size:.61rem;letter-spacing:.14em}.menu-toggle span{font-size:1.35rem;font-weight:300}.header nav{display:none;position:absolute;top:74px;left:0;right:0;padding:20px 6% 28px;color:#f3f3ef;background:rgba(9,10,10,.98);border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 25px 45px rgba(0,0,0,.35)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:14px 0;font-size:.8rem}.header nav .nav-contact{margin:8px 0 0;padding-inline:14px}.hero{height:calc(100svh - 74px);min-height:590px;max-height:880px}.hero-photo{inset:-2%}.hero-content{padding:65px 7% 55px;justify-content:flex-start}.hero .eyebrow{font-size:.52rem;letter-spacing:.14em}.hero h1{margin-top:30px;font-size:clamp(2.25rem,9.5vw,3.6rem);line-height:1.55;letter-spacing:.04em}.hero-disciplines{font-size:1rem;letter-spacing:.13em}.hero-disciplines i{margin:0 5px}.hero-bottom{padding-top:38px}.hero-bottom p{font-size:.7rem;line-height:2}.scroll-link{gap:0;margin-bottom:0;font-size:0}.scroll-link span{font-size:1.8rem}.image-caption{right:7%;bottom:16px;font-size:.46rem}.section{padding:76px 7%}.section-label{gap:20px;margin-bottom:44px;padding-top:13px;font-size:.55rem;letter-spacing:.13em}.section-label span:last-child{font-size:.58rem}.section-heading{display:block;margin-bottom:42px}.section-heading h2{font-size:2rem}.section-heading>p{margin-top:24px;font-size:.75rem}.about-content{padding-left:0}.about .eyebrow{font-size:.52rem}.about h2{margin:24px 0 30px;font-size:2.3rem}.about-copy{font-size:.82rem}.desktop{display:none}.process-line{gap:17px;margin-top:42px;font-size:.8rem;letter-spacing:.15em}.services{grid-template-columns:1fr;gap:38px}.service-item{padding-top:20px}.service-item h3{margin-top:5px;font-size:3rem}.service-num{position:absolute;top:28px;right:0}.service-title{margin-bottom:18px;font-size:1rem}.service-text{min-height:0;font-size:.8rem}.service-tags{margin-top:19px}.work-filters button{padding:8px 12px;font-size:.58rem}.photo-price .section-heading{margin-bottom:48px}.photo-price-grid{display:flex;gap:12px;margin-inline:-7.5%;padding:0 7.5% 10px;overflow-x:auto;scroll-padding-inline:7.5%;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border:0}.photo-price-grid::-webkit-scrollbar{display:none}.photo-plan{flex:0 0 86%;min-height:430px;padding:27px 22px 36px;scroll-snap-align:start;scroll-snap-stop:always;background:rgba(255,255,255,.28);border:1px solid #c9ccc8}.photo-plan:first-child{border-left:1px solid #c9ccc8}.photo-plan h3{margin:31px 0 17px;font-size:1.08rem}.photo-plan-amount{margin-bottom:28px}.photo-plan-amount strong{font-size:2.05rem}.photo-plan-large{margin:0;color:#f0f1ed;background:var(--charcoal);border-color:var(--charcoal)}.photo-options{grid-template-columns:1fr;gap:24px;margin-top:55px}.photo-options dl div{gap:16px;font-size:.7rem}.photo-price-note{font-size:.62rem}.photo-price-cta{display:block;margin-top:45px}.photo-price-cta p{font-size:1rem;line-height:1.8}.photo-price-cta a{min-width:0;margin-top:23px}.web-layout,.profile-layout,.contact-layout{grid-template-columns:1fr;gap:50px}.web-title h2{font-size:2.25rem}.web-title .eyebrow,.profile-copy .eyebrow{font-size:.56rem}.web-detail .lead{font-size:1rem}.web-detail>p:not(.lead){font-size:.8rem}.web-features li{font-size:.75rem}.web-price>p{font-size:1.65rem}.flow-list{grid-template-columns:1fr 1fr;gap:26px 20px;margin:42px 0 50px}.flow-list h3{font-size:.9rem}.flow-list p{font-size:.7rem}.flow-list p br{display:none}.flow-list li>span{font-size:.52rem}.price-row{grid-template-columns:1fr;gap:9px}.profile-mark{padding:46px 0 42px}.profile-mark::after{top:-35px;height:calc(100% + 70px)}.profile-mark>span{font-size:clamp(3.7rem,18vw,6.5rem)}.profile-copy h2{font-size:1.7rem}.contact-word{margin-bottom:34px;font-size:5rem}.contact h2{font-size:1.45rem}footer{padding:38px 7%;flex-wrap:wrap;gap:23px}.footer-logo{width:75%;font-size:1.6rem}footer>div{order:3;margin-left:0}.back-top{margin-left:auto}dialog{padding:24px}.text-link{margin-top:25px}.gallery-bar{gap:15px;padding:16px 5%}.gallery-bar h2{font-size:1.05rem}.gallery-bar p{font-size:.5rem}.gallery-bar button{padding:6px 10px;font-size:0}.gallery-bar button span{margin:0;font-size:1.45rem}.gallery-images{grid-template-columns:1fr;gap:4px;padding:4px}.gallery-image-featured{grid-column:auto}.gallery-image img,.gallery-image-featured img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}}
@media(max-width:520px){.work-grid-portfolio{column-count:1}.work-grid-portfolio .work-cover img,.work-grid-portfolio .work-entry:nth-child(n) .work-cover img{aspect-ratio:3/2}.work-grid-portfolio .work-entry{margin-bottom:33px}.work-grid-portfolio .work-details h3{font-size:.9rem}.work-grid-portfolio .work-details p{font-size:.55rem}}@media(hover:none),(pointer:coarse){.work-cue{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero .eyebrow,.hero h1 span,.hero-disciplines,.hero-bottom,.js-motion .reveal{opacity:1;transform:none;filter:none;clip-path:none}.hero-photo img{transform:scale(1.02)!important}}
