:root{--paper:#fafaf7;--white:#fff;--ink:#20221f;--muted:#6e7169;--line:#dcded5;--lime:#ddefb9;--space:clamp(22px,5.2vw,88px);--max:1440px;--font:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}img{max-width:100%;height:auto;display:block}button{background:none;border:0}h1,h2,h3,h4,p{margin:0}p{line-height:1.9}ul{margin:0;padding:0;list-style:none}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid #537331;outline-offset:5px}button:focus-visible{outline-offset:4px}.wrap{width:100%;max-width:var(--max);margin:auto;padding-left:var(--space);padding-right:var(--space)}.mono,.eyebrow,.small-label{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.11em;line-height:1.5}.eyebrow{text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:block;width:6px;height:6px;background:var(--ink);border-radius:50%}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;z-index:99;background:var(--ink);color:white;padding:14px}.skip-link:focus{top:12px}.site-header{height:91px;position:sticky;top:0;z-index:40;background:rgba(250,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:19px;letter-spacing:-.065em;font-weight:800;white-space:nowrap}.brand-mark{width:28px;height:28px;flex:none}.header-right{display:flex;align-items:center;gap:38px}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:11px;letter-spacing:.08em;position:relative;padding:8px 0}.nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.nav a:hover:after{width:100%}.languages{display:flex;align-items:center;gap:10px;font-size:11px}.languages .active{border-bottom:1px solid var(--ink);padding-bottom:3px}.languages .separator{color:#afb2a8}.menu-toggle{display:none;font-size:11px;letter-spacing:.05em;padding:12px;border:1px solid var(--line)}
.hero{padding-top:70px;padding-bottom:72px;position:relative}.hero-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:center}.hero h1{font-size:clamp(66px,7.3vw,112px);font-weight:500;line-height:.97;letter-spacing:-.075em;margin:35px 0 28px;position:relative;z-index:2}.hero h1 span{display:block}.hero h1 .soft{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.065em}.hero-subtitle{font-size:clamp(17px,1.55vw,22px);font-weight:500;letter-spacing:.04em;margin-bottom:13px}.hero-description{font-size:13px;color:var(--muted);max-width:440px;line-height:1.95}.hero-bottom{display:flex;gap:30px;align-items:center;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:22px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:12px}.arrow{width:23px;height:23px;flex:none}.hero-collage{height:465px;position:relative;margin-left:6px}.hero-card{position:absolute;background:#eaece5;box-shadow:0 12px 34px #24251e16;padding:18px;transition:transform .6s var(--ease);overflow:hidden}.hero-card:hover{z-index:4;transform:rotate(0) translateY(-7px)}.hero-card img{width:100%;height:100%;object-fit:contain}.hero-card.a{width:42%;height:78%;top:43px;left:0;transform:rotate(-8deg);background:#e8eddf}.hero-card.b{width:56%;height:78%;right:0;top:2px;transform:rotate(7deg);background:#e4eeec}.hero-card.c{width:64%;height:35%;right:7%;bottom:1px;transform:rotate(-5deg);background:#f0dfdb;padding:12px}.hero-note{position:absolute;bottom:6px;left:-8px;font-size:10px;letter-spacing:.11em;writing-mode:vertical-rl;transform:rotate(180deg)}.hero-star{position:absolute;top:2px;left:22px;width:59px;height:59px;z-index:3}.hero-footline{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:57px;color:var(--muted);gap:20px}.hero-footline span{font-size:10px;letter-spacing:.09em}.status-dot{display:inline-block;width:6px;height:6px;background:#6f8b4c;border-radius:50%;margin-right:8px}
.section{padding-top:85px;padding-bottom:85px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:36px}.section-index{font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:17px}.section-title{font-size:clamp(48px,5.5vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.03}.section-intro{font-size:13px;line-height:1.95;max-width:345px;color:var(--muted)}.work-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter{font-size:10px;padding:10px 14px;border:1px solid var(--line);border-radius:30px;transition:all .2s}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter:hover:not(.active){background:var(--lime)}.view-toggle{display:flex;border-bottom:1px solid var(--line);gap:12px;flex-shrink:0}.view-toggle button{font-size:10px;letter-spacing:.08em;padding:8px 0;color:var(--muted)}.view-toggle button.active{color:var(--ink);border-bottom:2px solid var(--ink)}
.swiper{position:relative;display:block;width:100%;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--ease);box-sizing:content-box}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-horizontal{touch-action:pan-y}.swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.native-slider .swiper-wrapper{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.native-slider .swiper-wrapper::-webkit-scrollbar{display:none}.native-slider .swiper-slide{scroll-snap-align:start}.work-slide{display:grid;grid-template-columns:1.36fr 1fr;background:var(--white);min-height:530px}.slide-art{display:flex;align-items:center;justify-content:center;min-width:0;min-height:530px;padding:40px;position:relative;overflow:hidden}.tone-sage{background:#e8ece1}.tone-blue{background:#e5ecee}.tone-rose{background:#f1e6e3}.tone-sand{background:#f0ece3}.tone-stone{background:#e9e8e3}.slide-art img{max-height:445px;max-width:100%;object-fit:contain;filter:drop-shadow(0 7px 11px #20221f12);transition:transform .6s var(--ease)}.slide-art:hover img{transform:scale(1.035)}.slide-art .pair{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;height:450px}.slide-art .pair img{max-height:440px;max-width:43%}.art-label{position:absolute;bottom:16px;left:19px;font-size:9px;letter-spacing:.12em;color:#62665b}.slide-info{padding:42px 38px;display:flex;flex-direction:column;align-items:flex-start}.category-line{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;font-size:10px;letter-spacing:.1em;margin-bottom:39px;color:var(--muted)}.slide-title{font-size:clamp(23px,2.2vw,32px);font-weight:500;line-height:1.5;letter-spacing:-.035em;margin-bottom:20px;overflow-wrap:anywhere}.slide-copy{font-size:13px;line-height:1.95;color:var(--muted);max-width:430px;white-space:pre-line}.slide-info .text-link{margin-top:auto;padding-top:29px}.slide-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}.slide-progress{width:125px;height:2px;background:var(--line);overflow:hidden}.slide-progress span{display:block;height:100%;background:var(--ink);width:4%;transition:width .45s}.slide-position{font-size:11px;display:flex;gap:18px;align-items:center}.slide-buttons{display:flex;align-items:center;gap:9px}.round-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #bdc2b6;border-radius:50%;transition:background .2s}.round-button:hover:not(:disabled){background:var(--lime)}.slide-hint{font-size:10px;color:var(--muted);letter-spacing:.07em;margin-right:12px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 22px}.work-grid[hidden],.slider-view[hidden]{display:none!important}.grid-art{aspect-ratio:1.25;display:flex;align-items:center;justify-content:center;padding:23px;overflow:hidden}.grid-art img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .5s}.grid-card:hover .grid-art img{transform:scale(1.035)}.grid-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);letter-spacing:.08em;margin-top:15px}.grid-title{font-size:15px;font-weight:500;line-height:1.6;margin-top:7px}.all-projects-note{font-size:11px;color:var(--muted);margin-top:25px}
.services-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:60px}.section-label{font-size:12px;color:var(--muted);margin-top:22px;line-height:1.9}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:28px 1fr;column-gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.service-num{font-size:10px;color:var(--muted);padding-top:6px}.service-row h3{font-size:21px;font-weight:500;letter-spacing:-.02em;margin-bottom:6px}.service-row p{font-size:12px;color:var(--muted);line-height:1.8}.service-label{font-size:10px;letter-spacing:.09em;margin-top:9px;color:var(--muted)}.about-section{background:#eeefe9}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.about-identity{position:relative;min-height:285px;display:flex;align-items:center;justify-content:center;border:1px solid #c8cdbe}.about-identity span{font-family:Georgia,serif;font-style:italic;font-size:100px;letter-spacing:-.06em}.about-identity .brand-mark{position:absolute;right:18px;top:18px;width:50px;height:50px}.about-identity .small-label{position:absolute;left:19px;bottom:18px;font-style:normal;font-family:Arial;font-size:10px;letter-spacing:.11em}.about-copy .section-index{margin-bottom:22px}.about-copy h2{font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.55;letter-spacing:-.025em;margin-bottom:24px}.about-copy p{font-size:13px;line-height:2.1;color:#5c6156;margin-bottom:15px}.process-line{margin-top:35px;border-top:1px solid #c8cdbe;padding-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-step span{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.process-step strong{font-size:12px;font-weight:500;line-height:1.6;display:block}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-heading{font-size:clamp(43px,4.6vw,67px);font-weight:500;letter-spacing:-.065em;line-height:1.08;margin:20px 0 28px}.contact-heading em{font-family:Georgia,serif;font-weight:400}.contact-intro{font-size:13px;color:var(--muted);max-width:320px}.contact-note{font-size:11px;color:var(--muted);margin-top:27px;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{margin-bottom:23px;display:block}.field>span{display:block;font-size:12px;margin-bottom:11px}.required{font-size:10px;color:#777d6b;margin-left:7px}input:not([type=checkbox]),select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #aab1a0;padding:12px 0;color:var(--ink);border-radius:0;font-size:14px}input::placeholder,textarea::placeholder{color:#8a8f81;font-size:12px}select{padding:12px 2px}textarea{resize:vertical;min-height:135px;line-height:1.7}.privacy-consent{display:flex;gap:11px;font-size:11px;line-height:1.8;align-items:flex-start;margin:7px 0 24px}.privacy-consent input{accent-color:var(--ink);width:17px;height:17px;flex:none;margin-top:2px}.privacy-consent a{text-decoration:underline;text-underline-offset:3px}.submit-button{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:20px 26px;width:100%;font-size:12px}.submit-button:not(:disabled):hover{background:#3b4c2a}.submit-button:disabled{opacity:.45}.form-status{font-size:12px;padding:14px 16px;background:#e9eedf;margin-bottom:20px;line-height:1.8}.form-status:empty{display:none}.form-status.error{background:#f5e8e2}.hp{position:absolute;left:-10000px;height:1px;width:1px;overflow:hidden}.footer{border-top:1px solid var(--line);padding:35px 0 26px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.footer-copy{font-size:10px;color:var(--muted);line-height:1.7;display:flex;gap:22px;flex-wrap:wrap}.footer-links{display:flex;gap:22px;font-size:11px}.footer-bottom{font-size:10px;color:var(--muted);letter-spacing:.025em}.footer-brand{font-size:clamp(45px,8.7vw,124px);font-weight:600;letter-spacing:-.065em;line-height:1;margin-bottom:28px;margin-top:34px;white-space:nowrap}.back-top{display:inline-flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.05em}
.project-main{padding-top:48px;padding-bottom:85px}.breadcrumb{display:flex;gap:17px;align-items:center;font-size:10px;letter-spacing:.07em;color:var(--muted);margin-bottom:50px}.project-heading{font-size:clamp(30px,4vw,57px);font-weight:500;line-height:1.45;letter-spacing:-.035em;max-width:1030px;margin:22px 0}.project-summary{font-size:clamp(16px,1.7vw,23px);color:var(--muted);line-height:1.7;max-width:850px;margin-bottom:35px}.project-banner{padding:35px;min-height:400px;height:min(70vw,660px);display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:45px}.project-banner img{max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 5px 20px #24251e0b}.project-banner button{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.zoom-hint{position:absolute;bottom:14px;right:18px;font-size:10px;padding:7px 12px;background:#fafaf7d9;border-radius:20px;pointer-events:none}.project-story{display:grid;grid-template-columns:.6fr 1.4fr;gap:75px;margin-bottom:60px}.project-facts{border-top:1px solid var(--line)}.project-facts div{padding:15px 0;border-bottom:1px solid var(--line)}.project-facts dt{font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}.project-facts dd{font-size:13px;line-height:1.7;margin:0}.project-description p{font-size:14px;color:#555c51;line-height:2.05;margin-bottom:20px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.gallery-item{margin:0}.gallery-item.wide{grid-column:1/-1}.gallery-item button{padding:24px;background:#eeefe9;display:flex;align-items:center;justify-content:center;width:100%}.gallery-item img{max-width:100%;height:auto;max-height:1100px;object-fit:contain}.gallery-item figcaption{font-size:10px;color:var(--muted);margin-top:10px}.project-next{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px 0;border-top:1px solid var(--line);margin-top:65px}.project-next h2{font-size:clamp(20px,2.7vw,37px);font-weight:500;line-height:1.5;letter-spacing:-.025em;margin-top:15px}.project-next .round-button{width:65px;height:65px;flex:none}.project-cta{font-size:12px;color:var(--muted);margin-top:40px}.project-cta a{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.lightbox{border:0;margin:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#191c19f5;color:white}.lightbox::backdrop{background:#171a17}.lightbox-top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:20px}.lightbox-top span{font-size:11px;color:#c9cec5}.lightbox-close{color:white;font-size:13px;padding:13px 0}.lightbox-stage{height:calc(100dvh - 140px);display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px 65px}.lightbox-stage img{max-height:100%;max-width:100%;object-fit:contain}.lightbox-controls{height:60px;display:flex;align-items:center;justify-content:center;gap:24px}.lightbox-controls button{color:white;border:1px solid #697260;width:40px;height:40px;border-radius:50%}.lightbox-controls span{font-size:11px}.legal{padding-top:62px;padding-bottom:90px;max-width:960px}.legal h1{font-size:42px;font-weight:500;letter-spacing:-.035em;margin-bottom:38px}.legal h2{font-size:20px;font-weight:500;margin:32px 0 12px}.legal p{font-size:14px;color:var(--muted);line-height:2}.legal .legal-back{margin-top:38px}.no-script-note{padding:20px;border:1px solid var(--line);margin-bottom:25px;font-size:13px}.empty-state{padding:90px 0;text-align:center}.empty-state h1{font-size:42px;font-weight:400;margin-bottom:20px}.empty-state a{text-decoration:underline}
@media(min-width:1600px){.hero-collage{height:495px}.hero h1{font-size:118px}}@media(max-width:1100px){.header-right{gap:25px}.nav{gap:19px}.hero{padding-top:58px}.hero h1{font-size:clamp(60px,7.7vw,86px)}.hero-collage{height:390px}.hero-card.c{bottom:8px}.slide-info{padding:30px 26px}.slide-art{min-height:500px;padding:25px}.slide-art img{max-height:420px}.work-slide{grid-template-columns:1.1fr 1fr}.category-line{margin-bottom:25px}.slide-copy{font-size:12px}.services-layout,.about-layout,.contact-layout{gap:45px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slide-hint{display:none}.hero-description{font-size:12px}.hero-subtitle{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:88px}.site-header{height:73px}.wordmark{font-size:17px;gap:8px}.brand-mark{width:24px;height:24px}.header-inner{gap:10px}.header-right{gap:15px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:22px var(--space);flex-wrap:wrap;gap:22px}.nav.open{display:flex}.languages{font-size:10px;gap:7px}.hero{padding-top:38px;padding-bottom:38px}.hero-layout{grid-template-columns:1fr;gap:13px}.hero h1{font-size:clamp(58px,12.6vw,93px);line-height:.97;margin-top:26px;margin-bottom:24px}.hero-description{max-width:420px;font-size:12px}.hero-subtitle{font-size:16px}.hero-collage{height:360px;width:100%;max-width:440px;margin:18px auto 0}.hero-card.a{width:40%;height:78%;left:5%;top:32px}.hero-card.b{width:52%;height:81%;right:4%;top:4px}.hero-card.c{height:35%;width:62%;right:11%;bottom:0}.hero-note{left:0;bottom:17px}.hero-star{width:47px;height:47px;top:0;left:24px}.hero-footline{margin-top:35px;gap:16px}.hero-footline span{font-size:8px;line-height:1.8}.hero-footline span:last-child{max-width:135px;text-align:right}.hero-bottom{margin-top:24px}.section{padding-top:52px;padding-bottom:52px}.section-head{display:block;margin-bottom:27px}.section-title{font-size:51px}.section-intro{margin-top:21px;font-size:12px;max-width:420px}.section-index{margin-bottom:13px}.work-tools{align-items:flex-start;gap:15px;flex-direction:column}.filters{flex-wrap:nowrap;width:calc(100% + var(--space));overflow-x:auto;padding-right:var(--space);padding-bottom:6px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{flex-shrink:0;padding:9px 13px;font-size:10px}.view-toggle{align-self:flex-end}.work-slide{grid-template-columns:1fr;min-height:0}.slide-art{height:330px;min-height:0;padding:25px}.slide-art img{max-height:278px;max-width:100%}.slide-art .pair{height:280px;gap:18px}.slide-art .pair img{max-height:277px}.slide-info{padding:25px 22px 28px;min-height:0}.category-line{font-size:9px;margin-bottom:20px}.slide-title{font-size:24px;margin-bottom:14px;line-height:1.5}.slide-copy{font-size:12px;line-height:1.95}.slide-info .text-link{padding-top:22px;margin-top:0;font-size:11px}.slide-controls{margin-top:17px;gap:15px}.slide-progress{width:64px}.slide-position{gap:11px;font-size:10px}.round-button{width:42px;height:42px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 13px}.grid-art{padding:13px;aspect-ratio:.93}.grid-title{font-size:12px}.grid-meta{font-size:8px;line-height:1.5;gap:5px}.all-projects-note{font-size:10px}.services-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:33px}.service-row{padding:21px 0}.service-row h3{font-size:20px}.section-label{font-size:12px}.about-identity{min-height:245px;max-width:440px;width:100%}.about-identity span{font-size:92px}.about-copy h2{font-size:27px}.about-copy p{font-size:12px}.process-line{gap:12px;margin-top:28px}.process-step strong{font-size:10px}.contact-heading{font-size:50px;max-width:460px;margin-bottom:22px}.contact-intro{max-width:420px;font-size:12px}.contact-note{margin-top:18px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:22px}.footer{padding-top:28px}.footer-top{align-items:flex-start}.footer-links{font-size:10px;gap:14px}.footer-copy{font-size:9px}.footer-brand{font-size:12.8vw;margin-top:27px;margin-bottom:24px}.project-main{padding-top:30px;padding-bottom:48px}.breadcrumb{margin-bottom:32px;font-size:9px;flex-wrap:wrap;line-height:1.7}.project-heading{font-size:29px;line-height:1.6;margin-top:20px;margin-bottom:19px}.project-summary{font-size:16px;margin-bottom:27px}.project-banner{min-height:0;height:420px;padding:25px;margin-bottom:30px}.project-story{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.project-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.project-facts dd{font-size:11px}.project-description p{font-size:13px}.project-gallery{grid-template-columns:1fr;gap:25px}.gallery-item.wide{grid-column:auto}.gallery-item button{padding:14px}.gallery-item figcaption{font-size:9px}.project-next{margin-top:43px;padding:26px 0;gap:18px}.project-next h2{font-size:22px}.project-next .round-button{width:48px;height:48px}.project-cta{font-size:11px;line-height:1.9}.lightbox-stage{padding:10px 13px}.lightbox-top{height:62px;padding:0 19px}.lightbox-top span{font-size:10px;max-width:70%;line-height:1.5}.lightbox-stage{height:calc(100dvh - 132px)}.legal{padding-top:42px;padding-bottom:50px}.legal h1{font-size:31px}.legal p{font-size:13px}}
@media(max-width:370px){.wordmark{font-size:15px}.menu-toggle{font-size:9px;padding:10px}.header-right{gap:10px}.hero h1{font-size:55px}.hero-collage{height:308px}.hero-subtitle{font-size:14px}.slide-art{height:290px}.slide-art img{max-height:240px}.slide-art .pair{height:235px}.slide-art .pair img{max-height:235px}.grid-art{padding:10px}.contact-heading{font-size:44px}.process-line{grid-template-columns:1fr 1fr}.project-banner{height:355px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.hero-card:hover{transform:none}}
@media print{.site-header,.site-footer,.slide-controls,.filters,.view-toggle,.contact-section,.hero-collage,.project-next,dialog{display:none!important}.wrap{padding:0;max-width:none}.section{break-inside:avoid;padding:20px 0}.project-gallery{display:block}.gallery-item{break-inside:avoid;margin-bottom:20px}.work-grid{display:grid!important}.slider-view{display:none}.hero{padding:10px 0}.hero h1{font-size:45px}}
[hidden]{display:none!important}.section-title i{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.slide-art{width:100%}.lightbox-stage img{cursor:zoom-in}.lightbox-stage.zoomed{display:block}.lightbox-stage.zoomed img{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out;margin:auto}.work-grid a{display:block}.hero-card:focus-visible{z-index:5}.contact-heading em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.about-identity .brand-mark{position:absolute;right:28px;top:26px;width:38px;height:38px}.about-identity small{position:absolute;bottom:26px;left:26px}.service-row>span:last-child{font-size:21px}.field small{font-size:9px;font-weight:400}.privacy-consent a{text-decoration:underline;text-underline-offset:4px}.slide-title br{display:block}.hero-card img{pointer-events:none}
.service-row{grid-template-columns:28px minmax(0,1fr) 20px}.service-row>span:last-child{align-self:start;padding-top:2px}.grid-item:hover .grid-art img{transform:scale(1.035)}.field .muted{margin-left:7px}.native-slider .swiper-wrapper{cursor:grab}.native-slider .swiper-wrapper:active{cursor:grabbing}

/* Portfolio navigation v3: visible top-left controls, outside the artwork.
   Sticky positioning is scoped to .slider-view, not the whole page. */
:root { --portfolio-header-offset: 91px; }
.slider-view { position: relative; isolation: isolate; }
.slide-controls {
  position: sticky;
  top: var(--portfolio-header-offset);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  margin: 0;
  padding: 14px 0;
  min-height: 78px;
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.slide-controls .slide-buttons { display: flex; flex: 0 0 auto; gap: 10px; }
.slide-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  white-space: nowrap;
  touch-action: manipulation;
  transition: background .18s, color .18s, border-color .18s;
}
.slide-nav-button .arrow { width: 20px; height: 20px; flex-shrink: 0; }
.slide-nav-button.next-slide { background: var(--ink); color: var(--white); }
.slide-nav-button:hover:not(:disabled) { background: var(--lime); border-color: #8ba366; color: var(--ink); }
.slide-nav-button:focus-visible { outline: 3px solid #537331; outline-offset: 3px; }
.slide-nav-button:disabled { opacity: 1; color: #898d81; background: #f0f1eb; border-color: var(--line); cursor: default; }
.slide-controls .slide-position { flex: 0 0 auto; gap: 16px; font-size: 12px; font-variant-numeric: tabular-nums; }
#slide-counter { min-width: 57px; white-space: nowrap; }
.slide-controls .slide-progress { width: 88px; }
.slide-controls .slide-hint { margin: 0 0 0 auto; }
@media (max-width: 760px) {
  :root { --portfolio-header-offset: 73px; }
  .slide-controls { gap: 15px; padding: 11px 0; min-height: 70px; }
  .slide-controls .slide-buttons { gap: 8px; }
  .slide-nav-button { width: 46px; height: 46px; min-width: 46px; min-height: 46px; gap: 0; padding: 0; }
  .slide-controls .slide-position { margin-left: auto; gap: 10px; font-size: 11px; }
}
@media (max-width: 540px) {
  .slide-controls .slide-progress { display: none; }
  #slide-counter { min-width: 50px; }
}
@media (max-width: 370px) {
  .slide-controls { gap: 8px; }
  .slide-nav-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; gap: 0; }
  .slide-nav-button .arrow { width: 18px; height: 18px; }
}
