[hidden]{display:none!important}
:root{
  --paper:#f2f0ea;
  --paper-2:#e8e5dd;
  --ink:#11110f;
  --charcoal:#171816;
  --muted:#625f58;
  --line:rgba(17,17,15,.18);
  --light-line:rgba(255,255,255,.24);
  --coral:#ea8f8c;
  --white:#fbfaf7;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
  --gutter:clamp(24px,4.2vw,72px);
  --header-h:88px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
::selection{background:var(--coral);color:var(--ink)}

.page-curtain{position:fixed;z-index:9999;inset:0;background:var(--ink);transform:translateY(100%);pointer-events:none;transition:transform .48s cubic-bezier(.7,0,.2,1)}
body.page-leaving .page-curtain{transform:translateY(0)}

.public-header{height:var(--header-h);padding:0 var(--gutter);display:grid;grid-template-columns:220px 1fr 220px;align-items:center;border-bottom:1px solid var(--line);background:rgba(242,240,234,.96);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);transition:height .25s ease,background .25s ease}
.public-header.is-compact{height:72px;background:rgba(242,240,234,.985)}
.public-brand{width:146px;display:block}
.public-brand img{width:100%;height:auto;aspect-ratio:1779/728;object-fit:contain}
.public-nav{display:flex;align-items:center;justify-content:center;gap:clamp(30px,3.3vw,58px)}
.public-nav a,.public-contact-link{font-size:15px;line-height:1;text-transform:uppercase;letter-spacing:.08em;position:relative;padding:10px 0}
.public-nav a:after,.public-contact-link:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background-color:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.public-nav a:hover:after,.public-nav a.is-active:after,.public-contact-link:hover:after,.public-contact-link.is-active:after{transform:scaleX(1);transform-origin:left}
.public-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px}
.public-contact-link{font-weight:700}
.menu-button{display:none;width:42px;height:42px;border:0;background:transparent;padding:0;position:relative;cursor:pointer}
.menu-button span{position:absolute;width:26px;height:1px;background:var(--ink);left:8px;top:17px;transition:.25s ease}
.menu-button span+span{top:25px}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-panel{display:none}

.section-label{margin:0 0 22px;font-size:15px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#4d4a44}
.section-label-light{color:#d9d6cd}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:210px;padding:16px 18px;border:1px solid currentColor;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;transition:background .25s ease,color .25s ease,transform .25s ease}
.button:hover{transform:translateY(-2px)}
.button-light{color:var(--white)}.button-light:hover{background:var(--white);color:var(--ink)}
.button-dark{color:var(--ink)}.button-dark:hover{background:var(--ink);color:var(--white)}
.inline-link{display:inline-flex;align-items:center;gap:18px;font-size:16px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;transition:gap .25s ease}
.inline-link:hover{gap:28px}.light-link{color:var(--white)}

/* motion */
.reveal-up{opacity:0;transform:translateY(28px);transition:opacity .72s ease var(--delay,0ms),transform .72s cubic-bezier(.2,.72,.2,1) var(--delay,0ms)}
.reveal-up.is-visible{opacity:1;transform:none}
.media-reveal{position:relative;overflow:hidden}
.media-reveal:after{content:"";position:absolute;z-index:3;inset:0;background:var(--paper-2);transform:translateY(0);transition:transform .9s cubic-bezier(.76,0,.24,1)}
.media-reveal.is-visible:after{transform:translateY(-101%)}
.media-reveal img,.media-reveal video{transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}
.media-reveal.is-visible img,.media-reveal.is-visible video{transform:scale(1)}

/* home hero */
.home-hero{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:minmax(410px,38%) 1fr;background:var(--charcoal);color:var(--white)}
.home-hero-copy{padding:clamp(70px,9vh,120px) var(--gutter) clamp(60px,8vh,100px);align-self:end;max-width:660px}
.home-hero .section-label{color:#c8c6bf}
.home-hero h1{font-size:clamp(58px,5.3vw,92px);line-height:.96;max-width:650px;margin:0 0 36px}
.hero-intro{font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:#d8d6cf;max-width:570px;margin-bottom:34px}
.hero-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.home-hero-media{min-height:calc(100vh - var(--header-h));position:relative;background:#26231f;overflow:hidden}
.home-hero-media picture,.home-hero-media img{width:100%;height:100%}
.home-hero-media img{object-fit:cover;object-position:center;transition:transform 1.4s cubic-bezier(.2,.65,.2,1),filter .4s ease}
.home-hero-media:hover img{transform:scale(1.025)}
.home-hero-media:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62) 100%);pointer-events:none}
.hero-media-meta{position:absolute;z-index:2;left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px);bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;color:#fff;border-top:1px solid rgba(255,255,255,.45);padding-top:15px}
.hero-media-meta span{font-size:14px;text-transform:uppercase;letter-spacing:.09em}.hero-media-meta strong{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,31px)}

.positioning-section{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(60px,9vw,150px);padding:clamp(100px,12vw,180px) var(--gutter);align-items:end}
.positioning-copy h2{font-size:clamp(54px,6vw,96px);line-height:1;max-width:1150px;margin:0}
.positioning-side{max-width:500px;padding-bottom:8px}.positioning-side>p{font-size:19px;line-height:1.65;color:var(--muted);margin-bottom:28px}

.selected-work{border-top:1px solid var(--line)}
.work-heading{padding:80px var(--gutter) 70px;display:grid;grid-template-columns:1fr 1.4fr auto;gap:50px;align-items:end}
.work-heading .section-label{margin:0}.work-heading h2{font-size:clamp(42px,4vw,68px);line-height:1.02;margin:0;max-width:760px}.work-heading .inline-link{justify-self:end}
.project-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.75fr);min-height:760px;border-top:1px solid var(--line)}
.project-feature.reverse{grid-template-columns:minmax(360px,.75fr) minmax(0,1.65fr)}
.project-feature.reverse .project-media{order:2}.project-feature.reverse .project-copy{order:1}
.project-media{height:100%;min-height:760px}.project-media picture,.project-media img{width:100%;height:100%}.project-media img{object-fit:cover}
.project-copy{padding:clamp(52px,6vw,92px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--paper)}
.project-feature-dark .project-copy{background:var(--charcoal);color:var(--white)}
.project-type{font-size:15px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:22px;color:var(--muted)}
.project-feature-dark .project-type{color:#bebbb4}
.project-copy h3{font-size:clamp(48px,5vw,78px);line-height:.97;margin:0 0 30px}.project-copy>p:not(.project-type){font-size:18px;line-height:1.6;max-width:480px;color:var(--muted);margin-bottom:34px}.project-feature-dark .project-copy>p:not(.project-type){color:#cac7c0}
.project-panorama{height:min(80vh,850px);position:relative;background:#111}.project-panorama>a,.project-panorama picture,.project-panorama img{display:block;width:100%;height:100%}.project-panorama img{object-fit:cover}.project-panorama>a:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.05) 100%)}
.panorama-copy{position:absolute;z-index:2;left:var(--gutter);bottom:clamp(44px,7vw,90px);color:#fff;max-width:680px}.panorama-copy p{font-size:15px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:20px}.panorama-copy h3{font-size:clamp(56px,6.5vw,102px);line-height:.96;margin:0 0 24px}.panorama-copy span{font-size:16px;font-weight:700;border-bottom:1px solid #fff;padding-bottom:5px}

.services-preview{padding:clamp(100px,11vw,170px) var(--gutter);background:#dcd8ce}
.services-preview-head{display:grid;grid-template-columns:.5fr 1.5fr;gap:50px;align-items:start;margin-bottom:70px}.services-preview-head h2{font-size:clamp(56px,6vw,92px);line-height:.98;margin:0}
.service-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-path{background:var(--paper);transition:transform .35s ease,background .35s ease;overflow:hidden}.service-path:hover{transform:translateY(-9px);background:#fff}.service-path-media{aspect-ratio:1/1.05;overflow:hidden}.service-path-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}.service-path:hover img{transform:scale(1.035)}
.service-path-copy{padding:30px 28px 32px}.service-path h3{font-size:clamp(31px,2.6vw,43px);line-height:1.04;margin:0 0 18px}.service-path p{font-size:16px;line-height:1.55;color:var(--muted);min-height:50px;margin-bottom:27px}.service-path span{font-size:15px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}

.studio-band{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--charcoal);color:var(--white)}
.studio-media{min-height:760px;background:#222}.studio-media video{width:100%;height:100%;object-fit:cover;object-position:center}
.studio-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,8vw,130px) var(--gutter)}
.studio-copy h2{font-size:clamp(54px,5.5vw,86px);line-height:.98;margin:0 0 34px;max-width:780px}.studio-copy>p:not(.section-label){font-size:19px;line-height:1.65;color:#c9c6bf;max-width:650px;margin-bottom:34px}
.home-cta{padding:clamp(110px,13vw,200px) var(--gutter);text-align:left}.home-cta h2{font-size:clamp(68px,8vw,126px);line-height:.92;max-width:1200px;margin:0 0 28px}.home-cta>p:not(.section-label){font-size:20px;color:var(--muted);margin-bottom:35px}

/* shared page intros */
.page-intro{padding:clamp(95px,10vw,150px) var(--gutter) clamp(80px,9vw,130px);border-bottom:1px solid var(--line)}
.page-intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(60px,10vw,170px);align-items:end}.page-intro h1{font-size:clamp(68px,8vw,126px);line-height:.91;max-width:1100px;margin:0}.page-intro-grid>p{font-size:20px;line-height:1.6;color:var(--muted);max-width:520px;margin:0 0 10px}

/* portfolio index */
.project-index{padding:0 var(--gutter) 120px}.project-index-item{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.6fr);gap:clamp(40px,6vw,96px);align-items:end;padding:90px 0;border-bottom:1px solid var(--line)}
.project-index-item.is-offset{grid-template-columns:minmax(320px,.6fr) minmax(0,1.6fr)}.project-index-item.is-offset .project-index-media{order:2}.project-index-item.is-offset .project-index-copy{order:1}
.project-index-media{aspect-ratio:1.45/1}.project-index-media img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.project-index-media:hover img{transform:scale(1.025)}
.project-index-copy{padding-bottom:16px}.project-index-copy>p{font-size:15px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:19px}.project-index-copy h2{font-size:clamp(50px,5vw,76px);line-height:.98;margin:0 0 18px}.project-index-copy>span{display:block;font-size:16px;color:var(--muted);margin-bottom:30px}.portfolio-note{margin:0 var(--gutter) 130px;padding:80px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px}.portfolio-note h2{font-size:clamp(42px,4vw,64px);line-height:1.02;margin:0}.portfolio-note p{font-size:18px;line-height:1.6;color:var(--muted);max-width:560px;margin:0}

/* project detail */
.project-hero{display:grid;grid-template-columns:.72fr 1.28fr;min-height:calc(100vh - var(--header-h))}.project-hero-copy{padding:clamp(70px,8vw,120px) var(--gutter);display:flex;flex-direction:column;justify-content:flex-end}.project-hero-copy h1{font-size:clamp(65px,7vw,112px);line-height:.92;margin:0 0 34px}.project-hero-copy>p:not(.section-label){font-size:19px;color:var(--muted);line-height:1.65;max-width:600px}.project-hero-media{min-height:780px}.project-hero-media picture,.project-hero-media img{width:100%;height:100%}.project-hero-media img{object-fit:cover}
.project-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 var(--gutter)}.project-facts>div{padding:32px 36px 32px 0;border-right:1px solid var(--line);margin-right:36px}.project-facts>div:last-child{border:0}.project-facts span{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.project-facts strong{font-size:17px;font-weight:400}
.project-story{padding:clamp(100px,10vw,160px) var(--gutter)}.project-story-copy{display:grid;grid-template-columns:.35fr 1fr .55fr;gap:60px;margin-bottom:90px}.project-story-copy .section-label{margin:0}.project-story-copy h2{font-size:clamp(48px,5vw,78px);line-height:1;margin:0}.project-story-copy>p:not(.section-label){font-size:18px;line-height:1.65;color:var(--muted);align-self:end;margin:0}.project-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}.project-gallery figure{margin:0;overflow:hidden}.project-gallery figure:first-child{grid-row:span 2}.project-gallery img{width:100%;height:100%;object-fit:cover}.project-gallery figure:first-child img{min-height:1050px}.project-gallery figure:not(:first-child){aspect-ratio:1/1.05}
.next-projects{background:#dad6cc;padding:100px var(--gutter) 120px}.next-projects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.next-projects-head .section-label{margin:0}.next-projects-head h2{font-size:clamp(48px,5vw,76px);margin:0}.next-projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.next-project{position:relative;aspect-ratio:1.4/1;color:#fff;overflow:hidden}.next-project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7))}.next-project img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.next-project:hover img{transform:scale(1.03)}.next-project span,.next-project strong{position:absolute;z-index:2;left:30px}.next-project span{bottom:64px;font-size:14px;text-transform:uppercase;letter-spacing:.1em}.next-project strong{bottom:24px;font-family:var(--serif);font-size:30px;font-weight:400}

/* services */
.services-hero{display:grid;grid-template-columns:.78fr 1.22fr;min-height:760px}.services-hero-copy{padding:clamp(75px,8vw,125px) var(--gutter);display:flex;flex-direction:column;justify-content:flex-end}.services-hero h1{font-size:clamp(66px,7vw,112px);line-height:.92;margin:0 0 34px}.services-hero-copy>p:not(.section-label){font-size:19px;line-height:1.65;color:var(--muted);max-width:590px}.services-hero-media{min-height:760px}.services-hero-media img{width:100%;height:100%;object-fit:cover}
.service-detail{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--line);min-height:760px}.service-detail.reverse{grid-template-columns:.85fr 1.15fr}.service-detail.reverse .service-detail-media{order:2}.service-detail.reverse .service-detail-copy{order:1}.service-detail-media img{width:100%;height:100%;object-fit:cover;min-height:760px}.service-detail-copy{padding:clamp(60px,7vw,110px) var(--gutter);display:flex;flex-direction:column;justify-content:center}.service-category{font-size:15px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:26px}.service-detail-copy h2{font-size:clamp(52px,5.5vw,84px);line-height:.98;margin:0 0 28px}.service-detail-copy>p:not(.service-category){font-size:18px;line-height:1.6;color:var(--muted);max-width:650px}.service-detail-copy ul{list-style:none;padding:0;margin:24px 0 35px;border-top:1px solid var(--line)}.service-detail-copy li{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.service-process{background:var(--charcoal);color:var(--white);padding:clamp(100px,11vw,170px) var(--gutter)}.service-process-head{display:grid;grid-template-columns:.5fr 1.5fr;gap:60px;margin-bottom:70px}.service-process-head .section-label{color:#c9c6bf}.service-process-head h2{font-size:clamp(56px,6vw,92px);line-height:.98;margin:0}.service-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--light-line)}.service-process-grid>div{padding:36px 46px 20px 0;border-right:1px solid var(--light-line);margin-right:46px}.service-process-grid>div:last-child{border:0}.service-process h3{font-size:34px;margin:0 0 18px}.service-process-grid p{font-size:16px;color:#c8c5be;line-height:1.6}

/* about */
.about-hero{display:grid;grid-template-columns:1fr .82fr;min-height:calc(100vh - var(--header-h));background:var(--charcoal);color:#fff}.about-copy{padding:clamp(80px,9vw,140px) var(--gutter);display:flex;flex-direction:column;justify-content:flex-end}.about-copy .section-label{color:#c9c6bf}.about-copy h1{font-size:clamp(62px,6.5vw,104px);line-height:.94;margin:0 0 35px}.about-copy>p:not(.section-label){font-size:19px;color:#cbc8c1;line-height:1.65;max-width:720px}.about-video{min-height:720px}.about-video video{width:100%;height:100%;object-fit:cover}.about-principles{padding:clamp(100px,11vw,170px) var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.about-principles>div{border-top:1px solid var(--line);padding-top:28px}.about-principles h2{font-size:clamp(38px,3.7vw,58px);line-height:1.03;margin:0 0 22px}.about-principles p{font-size:17px;line-height:1.65;color:var(--muted)}.about-image-band{height:min(82vh,820px);position:relative}.about-image-band img{width:100%;height:100%;object-fit:cover}.about-image-band:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 65%)}.about-image-band>div{position:absolute;z-index:2;left:var(--gutter);bottom:70px;color:#fff}.about-image-band p{font-family:var(--serif);font-size:clamp(48px,5vw,78px);max-width:740px;line-height:1;margin-bottom:25px}.about-image-band a{font-size:16px;font-weight:700;border-bottom:1px solid #fff;padding-bottom:5px}

/* contact */
.contact-page{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:.8fr 1.05fr .55fr;background:var(--paper)}.contact-main{padding:clamp(70px,8vw,120px) var(--gutter);display:flex;flex-direction:column;justify-content:center}.contact-main h1{font-size:clamp(64px,6.7vw,108px);line-height:.92;margin:0 0 34px}.contact-main>p:not(.section-label){font-size:19px;line-height:1.6;color:var(--muted);max-width:580px}.contact-email{font-family:var(--serif);font-size:clamp(24px,2.5vw,38px);margin-top:26px;border-bottom:1px solid var(--ink);padding-bottom:10px;width:max-content;max-width:100%;overflow-wrap:anywhere}.contact-visual{min-height:760px}.contact-visual img{width:100%;height:100%;object-fit:cover}.contact-aside{padding:70px 32px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.contact-aside>div{border-top:1px solid var(--line);padding:20px 0}.contact-aside span{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.contact-aside strong{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.25}.contact-aside>p{font-size:15px;color:var(--muted);line-height:1.55;margin-top:26px}

/* footer */
.public-footer{background:#0f100f;color:#f3f1ea;padding:0 var(--gutter)}
.footer-lead{min-height:330px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--light-line)}.footer-lead p{font-size:16px;text-transform:uppercase;letter-spacing:.1em;color:#b8b5ae;margin-bottom:20px}.footer-lead a{font-family:var(--serif);font-size:clamp(52px,6.4vw,100px);line-height:.95;display:flex;justify-content:space-between;align-items:end;gap:40px;max-width:1280px}.footer-lead a span{font-family:var(--sans);font-size:42px;color:var(--coral);transition:transform .25s ease}.footer-lead a:hover span{transform:translate(8px,-8px)}
.footer-grid{display:grid;grid-template-columns:1.2fr .5fr 1fr;gap:80px;padding:70px 0 60px}.footer-brand img{width:230px;height:auto;filter:brightness(0) invert(1);opacity:.96;margin-bottom:25px}.footer-brand p{font-size:17px;line-height:1.55;color:#bdbab3;max-width:500px}.footer-grid nav{display:grid;align-content:start;gap:12px}.footer-grid nav a{font-family:var(--serif);font-size:25px}.footer-contact{display:flex;flex-direction:column;align-items:flex-start}.footer-contact>span{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#aaa79f;margin-bottom:13px}.footer-contact>a{font-family:var(--serif);font-size:clamp(22px,2.2vw,34px);border-bottom:1px solid var(--light-line);padding-bottom:7px;max-width:100%;overflow-wrap:anywhere}.footer-contact p{font-size:16px;color:#bdbab3;margin-top:22px}.footer-base{border-top:1px solid var(--light-line);padding:20px 0 24px;display:flex;justify-content:space-between;gap:30px;color:#98958e;font-size:14px;text-transform:uppercase;letter-spacing:.08em}

.not-found{min-height:70vh;display:grid;place-items:center;padding:var(--gutter)}.not-found>div{text-align:center}.not-found h1{font-size:clamp(55px,8vw,110px)}

@media(max-width:1100px){
  :root{--header-h:80px}
  .public-header{grid-template-columns:175px 1fr 190px}.public-brand{width:132px}.public-nav{gap:25px}
  .home-hero{grid-template-columns:.85fr 1.15fr}.home-hero-copy{padding-right:40px}.home-hero h1{font-size:clamp(54px,5.6vw,72px)}
  .positioning-section{grid-template-columns:1fr .55fr;gap:70px}.positioning-copy h2{font-size:clamp(50px,6vw,72px)}
  .project-feature,.project-feature.reverse{grid-template-columns:1.35fr .65fr}.project-feature{min-height:680px}.project-media{min-height:680px}.project-copy{padding:54px 42px}.project-copy h3{font-size:52px}
  .services-preview-head,.service-process-head{grid-template-columns:.35fr 1.65fr}.service-path-copy{padding:24px 22px}.service-path h3{font-size:31px}
  .studio-band{min-height:650px}.studio-media{min-height:650px}
  .page-intro-grid{grid-template-columns:1.2fr .8fr;gap:70px}.project-index-item,.project-index-item.is-offset{grid-template-columns:1.2fr .8fr}.project-hero{grid-template-columns:.8fr 1.2fr}.project-story-copy{grid-template-columns:.3fr 1fr}.project-story-copy>p:not(.section-label){grid-column:2}.services-hero{grid-template-columns:.9fr 1.1fr}.service-detail,.service-detail.reverse{grid-template-columns:1fr 1fr}.contact-page{grid-template-columns:.9fr 1.1fr}.contact-aside{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:35px var(--gutter)}.contact-aside>p{grid-column:1/-1;max-width:800px}.footer-grid{grid-template-columns:1fr .5fr 1fr;gap:50px}
}

@media(max-width:820px){
  :root{--header-h:74px;--gutter:24px}
  .public-header{height:var(--header-h);grid-template-columns:1fr auto;padding:0 var(--gutter)}.public-header.is-compact{height:68px}.public-brand{width:122px}.public-nav,.public-contact-link{display:none}.menu-button{display:block}.public-actions{gap:0}
  .mobile-panel{display:flex;position:fixed;z-index:90;left:0;right:0;top:68px;bottom:0;background:var(--paper);padding:56px var(--gutter) 36px;flex-direction:column;justify-content:space-between;transform:translateY(-115%);opacity:0;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .2s ease}.mobile-panel.is-open{transform:none;opacity:1}.mobile-panel nav{display:grid}.mobile-panel nav a{font-family:var(--serif);font-size:clamp(44px,11vw,74px);line-height:1.1;padding:9px 0;border-bottom:1px solid var(--line)}.mobile-panel p{font-size:16px;color:var(--muted);margin:0}
  .home-hero{grid-template-columns:1fr;min-height:0}.home-hero-copy{padding:70px var(--gutter) 62px;max-width:none;order:2}.home-hero-media{min-height:62vh;order:1}.home-hero h1{font-size:clamp(53px,10.5vw,78px);max-width:780px}.hero-media-meta{bottom:24px}.hero-media-meta span{font-size:14px}.hero-media-meta strong{font-size:22px}
  .positioning-section{grid-template-columns:1fr;padding:90px var(--gutter);gap:35px}.positioning-copy h2{font-size:clamp(48px,8vw,68px)}.positioning-side{max-width:680px}.positioning-side>p{font-size:18px}
  .work-heading{grid-template-columns:1fr;gap:22px;padding:65px var(--gutter) 55px}.work-heading h2{font-size:clamp(45px,8vw,64px)}.work-heading .inline-link{justify-self:start}
  .project-feature,.project-feature.reverse{grid-template-columns:1fr;min-height:0}.project-feature.reverse .project-media{order:1}.project-feature.reverse .project-copy{order:2}.project-media{min-height:0;aspect-ratio:1/1.02}.project-copy{padding:48px var(--gutter) 58px}.project-copy h3{font-size:clamp(45px,8vw,64px)}.project-panorama{height:72vh;min-height:600px}.project-panorama img{object-position:center}.project-panorama>a:before{background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.72) 100%)}.panorama-copy h3{font-size:clamp(50px,9vw,72px)}
  .services-preview{padding:90px var(--gutter)}.services-preview-head{grid-template-columns:1fr;gap:15px;margin-bottom:45px}.services-preview-head h2{font-size:clamp(48px,8vw,68px)}.service-paths{grid-template-columns:1fr;gap:22px}.service-path{display:grid;grid-template-columns:.85fr 1.15fr}.service-path-media{aspect-ratio:1/1}.service-path-copy{display:flex;flex-direction:column;justify-content:center}.service-path h3{font-size:34px}
  .studio-band{grid-template-columns:1fr;min-height:0}.studio-media{min-height:0;height:64vh}.studio-copy{padding:70px var(--gutter) 85px}.studio-copy h2{font-size:clamp(48px,8.5vw,70px)}.home-cta{padding:100px var(--gutter)}.home-cta h2{font-size:clamp(58px,10vw,88px)}
  .page-intro{padding:80px var(--gutter)}.page-intro-grid{grid-template-columns:1fr;gap:30px}.page-intro h1{font-size:clamp(60px,11vw,86px)}.page-intro-grid>p{font-size:18px}
  .project-index{padding:0 var(--gutter) 90px}.project-index-item,.project-index-item.is-offset{grid-template-columns:1fr;gap:28px;padding:60px 0}.project-index-item.is-offset .project-index-media{order:1}.project-index-item.is-offset .project-index-copy{order:2}.project-index-media{aspect-ratio:1.18/1}.project-index-copy h2{font-size:clamp(44px,8vw,62px)}.portfolio-note{grid-template-columns:1fr;gap:25px;margin-bottom:90px;padding:60px 0}.portfolio-note h2{font-size:48px}
  .project-hero{grid-template-columns:1fr;min-height:0}.project-hero-copy{padding:75px var(--gutter) 55px}.project-hero-copy h1{font-size:clamp(60px,11vw,86px)}.project-hero-media{min-height:0;height:70vh}.project-facts{grid-template-columns:1fr;padding:0 var(--gutter)}.project-facts>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:20px 0}.project-facts>div:last-child{border-bottom:0}.project-story{padding:90px var(--gutter)}.project-story-copy{grid-template-columns:1fr;gap:25px;margin-bottom:55px}.project-story-copy>p:not(.section-label){grid-column:1}.project-story-copy h2{font-size:48px}.project-gallery{grid-template-columns:1fr;gap:20px}.project-gallery figure:first-child{grid-row:auto}.project-gallery figure:first-child img{min-height:0}.project-gallery figure{aspect-ratio:1/1.18}.next-projects{padding:80px var(--gutter)}.next-projects-head{display:block}.next-projects-head h2{margin-top:15px}.next-projects-grid{grid-template-columns:1fr}
  .services-hero{grid-template-columns:1fr;min-height:0}.services-hero-copy{padding:75px var(--gutter) 55px}.services-hero h1{font-size:clamp(60px,11vw,86px)}.services-hero-media{min-height:0;height:68vh}.service-detail,.service-detail.reverse{grid-template-columns:1fr;min-height:0}.service-detail.reverse .service-detail-media{order:1}.service-detail.reverse .service-detail-copy{order:2}.service-detail-media img{min-height:0;height:68vh}.service-detail-copy{padding:65px var(--gutter) 80px}.service-detail-copy h2{font-size:clamp(48px,8.5vw,68px)}.service-process{padding:90px var(--gutter)}.service-process-head{grid-template-columns:1fr;gap:15px;margin-bottom:45px}.service-process-head h2{font-size:52px}.service-process-grid{grid-template-columns:1fr}.service-process-grid>div{border-right:0;border-bottom:1px solid var(--light-line);margin:0;padding:30px 0}.service-process-grid>div:last-child{border-bottom:0}
  .about-hero{grid-template-columns:1fr;min-height:0}.about-copy{padding:75px var(--gutter) 60px}.about-copy h1{font-size:clamp(56px,10vw,78px)}.about-video{min-height:0;height:68vh}.about-principles{grid-template-columns:1fr;gap:50px;padding:90px var(--gutter)}.about-principles h2{font-size:46px}.about-image-band{height:70vh;min-height:600px}.about-image-band:before{background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.7) 100%)}
  .contact-page{grid-template-columns:1fr;min-height:0}.contact-main{padding:80px var(--gutter) 60px}.contact-main h1{font-size:clamp(58px,11vw,82px)}.contact-visual{min-height:0;height:62vh}.contact-aside{grid-column:auto;grid-template-columns:1fr;padding:40px var(--gutter)}.contact-aside>p{grid-column:auto}
  .footer-lead{min-height:300px}.footer-lead a{font-size:clamp(46px,9vw,70px)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand img{width:200px}.footer-base{font-size:14px}
}

@media(max-width:520px){
  .section-label{font-size:14px;margin-bottom:18px}
  .button{min-width:0;width:100%;max-width:330px}.hero-links{align-items:flex-start;flex-direction:column;gap:22px}
  .home-hero-media{min-height:56vh}.home-hero-copy{padding-top:56px}.home-hero h1{font-size:50px}.hero-intro{font-size:17px}.hero-media-meta{display:block}.hero-media-meta span{display:block;margin-bottom:5px}.hero-media-meta strong{font-size:21px}
  .positioning-section{padding:78px var(--gutter)}.positioning-copy h2{font-size:45px}.positioning-side>p{font-size:17px}
  .project-copy h3{font-size:45px}.project-copy>p:not(.project-type){font-size:17px}.project-panorama{height:64vh;min-height:520px}.panorama-copy h3{font-size:50px}
  .services-preview{padding:78px var(--gutter)}.services-preview-head h2{font-size:47px}.service-path{grid-template-columns:1fr}.service-path-media{aspect-ratio:1.25/1}.service-path-copy{padding:27px 24px 30px}.service-path p{min-height:0}.studio-media{height:58vh}.studio-copy h2{font-size:46px}.studio-copy>p:not(.section-label){font-size:17px}.home-cta h2{font-size:58px}.home-cta>p:not(.section-label){font-size:18px}
  .page-intro h1{font-size:56px}.project-index-media{aspect-ratio:1/1.1}.project-index-copy h2{font-size:44px}.portfolio-note h2{font-size:43px}
  .project-hero-copy h1{font-size:55px}.project-hero-media{height:62vh}.project-story-copy h2{font-size:43px}.project-story-copy>p:not(.section-label){font-size:17px}.next-projects{padding:70px var(--gutter)}.next-project{aspect-ratio:1/1.05}
  .services-hero h1{font-size:55px}.services-hero-media,.service-detail-media img{height:60vh}.service-detail-copy h2{font-size:46px}.service-process-head h2{font-size:46px}.service-process h3{font-size:31px}
  .about-copy h1{font-size:52px}.about-video{height:60vh}.about-principles h2{font-size:41px}.about-image-band p{font-size:47px}
  .contact-main h1{font-size:55px}.contact-email{font-size:24px}.contact-visual{height:56vh}
  .footer-lead{min-height:270px}.footer-lead a{font-size:45px;align-items:center}.footer-lead a span{font-size:30px}.footer-grid{grid-template-columns:1fr;gap:38px;padding:55px 0}.footer-brand{grid-column:auto}.footer-grid nav a{font-size:23px}.footer-base{display:block}.footer-base span{display:block;margin:5px 0}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-up{opacity:1;transform:none;transition:none}.media-reveal:after{display:none}.media-reveal img,.media-reveal video,.project-media img,.service-path img,.project-index-media img,.next-project img{transition:none}.page-curtain{display:none}}

/* =========================================================
   0.3.1 — refined public direction
   Controlled image scale, softer luxury palette, richer interaction.
   ========================================================= */
:root{
  --paper:#f7f3ee;
  --paper-2:#eee8e1;
  --paper-warm:#f1e6df;
  --blush:#efd8d5;
  --ink:#171411;
  --charcoal:#171513;
  --muted:#6e665f;
  --line:rgba(23,20,17,.16);
  --light-line:rgba(255,255,255,.2);
  --coral:#e88f8c;
  --white:#fffdf9;
  --serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Aptos,"Segoe UI",Arial,Helvetica,sans-serif;
  --gutter:clamp(24px,4vw,68px);
  --content:1580px;
}
body{background:var(--paper);font-size:16px}
.public-header{background:rgba(247,243,238,.93);border-color:var(--line)}
.public-header.is-compact{background:rgba(247,243,238,.985)}
.public-brand{width:154px}
.public-nav a,.public-contact-link{font-size:14px;letter-spacing:.09em}
.section-label{font-size:14px;letter-spacing:.12em;color:#5c554e}
.button{border-radius:999px;padding:15px 20px;text-transform:none;letter-spacing:.02em;font-size:15px;min-width:198px}
.button span{font-size:18px}
.inline-link{font-size:16px}
.media-reveal:after{background:var(--paper-warm)}

.home-v31{overflow:hidden}
.v31-hero{background:linear-gradient(135deg,#fbf8f4 0%,#f7f3ee 62%,#f1e2dd 100%);padding-top:clamp(46px,6vw,88px);position:relative}
.v31-hero:before{content:"";position:absolute;width:34vw;height:34vw;max-width:560px;max-height:560px;border-radius:50%;background:radial-gradient(circle,rgba(232,143,140,.18),rgba(232,143,140,0) 70%);right:-10vw;top:-9vw;pointer-events:none}
.v31-hero-shell{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;display:grid;grid-template-columns:minmax(420px,.82fr) minmax(560px,1.18fr);gap:clamp(56px,7vw,120px);align-items:center;min-height:calc(92vh - var(--header-h));padding-bottom:clamp(60px,7vw,100px)}
.v31-hero-copy{max-width:710px;position:relative;z-index:2}
.v31-hero-copy .section-label{margin-bottom:26px}
.v31-hero h1{font-size:clamp(58px,5vw,86px);line-height:.96;margin:0 0 34px;letter-spacing:-.045em}
.v31-hero h1 span{font-style:italic;color:var(--coral);font-weight:400;white-space:nowrap}
.v31-hero-intro{font-size:clamp(18px,1.25vw,20px);line-height:1.65;color:var(--muted);max-width:620px;margin:0 0 34px}
.v31-hero-art{position:relative;height:min(690px,72vh);min-height:570px}
.v31-hero-main{position:absolute;right:0;top:0;width:min(76%,650px);height:min(88%,620px);background:#d6c9bb;box-shadow:0 28px 70px rgba(45,32,23,.12)}
.v31-hero-main picture,.v31-hero-main img{width:100%;height:100%}
.v31-hero-main img{object-fit:cover;object-position:center 47%}
.v31-hero-detail{position:absolute;left:0;bottom:0;width:40%;max-width:310px;aspect-ratio:1.12/1;z-index:4;background:#ddd2c7;border:10px solid var(--paper);box-shadow:0 18px 48px rgba(42,30,22,.12)}
.v31-hero-detail img{width:100%;height:100%;object-fit:cover}
.v31-image-tag{position:absolute;left:20px;bottom:20px;z-index:5;padding:10px 13px;background:rgba(255,253,249,.92);backdrop-filter:blur(10px);font-size:14px;line-height:1.2}
.v31-hero-note{position:absolute;left:3%;top:13%;z-index:5;background:rgba(255,253,249,.92);color:var(--ink);padding:17px 19px;min-width:178px;border-left:3px solid var(--coral);box-shadow:0 14px 35px rgba(20,17,15,.10);backdrop-filter:blur(12px)}
.v31-hero-note strong,.v31-hero-note span{display:block}.v31-hero-note strong{font-family:var(--serif);font-size:23px;font-weight:400;margin-bottom:4px}.v31-hero-note span{font-size:14px;color:var(--muted)}
.v31-scope{border-top:1px solid var(--line);width:100%;min-height:74px;display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,48px);padding:18px var(--gutter);font-size:15px;color:#514b45}
.v31-scope i{width:5px;height:5px;background:var(--coral);border-radius:50%}

.v31-manifesto{position:relative;width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;padding:clamp(110px,11vw,180px) 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);gap:clamp(70px,9vw,150px);align-items:end}
.v31-manifesto-copy{position:relative;z-index:2}
.v31-manifesto h2{font-size:clamp(54px,5.4vw,88px);line-height:.99;margin:0;max-width:1020px}
.v31-manifesto h2 em{font-weight:400;color:var(--coral)}
.v31-manifesto-side{padding-bottom:8px}.v31-manifesto-side p{font-size:19px;line-height:1.68;color:var(--muted);margin-bottom:30px}
.v31-manifesto-mark{display:none}

.v31-work{border-top:1px solid var(--line);padding:clamp(84px,9vw,140px) var(--gutter);background:#f9f6f1}
.v31-section-head{width:min(100%,var(--content));margin:0 auto clamp(55px,6vw,88px);display:flex;justify-content:space-between;gap:60px;align-items:flex-end}
.v31-section-head h2{font-size:clamp(48px,4.3vw,72px);line-height:1;margin:0}
.v31-work-grid{width:min(100%,var(--content));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:clamp(26px,3vw,50px);align-items:start}
.v31-work-card{display:block;position:relative}
.v31-work-card--large{padding-right:clamp(0px,2vw,34px)}
.v31-work-card--small{margin-top:clamp(70px,8vw,130px)}
.v31-work-card--wide{grid-column:1/-1;width:80%;margin:clamp(42px,5vw,72px) 0 0 auto;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:32px}
.v31-work-media{overflow:hidden;background:#ded6cd}
.v31-work-card--large .v31-work-media{aspect-ratio:1.2/1;max-height:650px}
.v31-work-card--small .v31-work-media{aspect-ratio:.9/1;max-height:600px}
.v31-work-card--wide .v31-work-media{aspect-ratio:1.55/1;max-height:520px}
.v31-work-media img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.v31-work-card:hover img{transform:scale(1.035);filter:saturate(1.03)}
.v31-work-card--wide .v31-work-media{grid-column:1;grid-row:1}.v31-work-card--wide .v31-work-meta{grid-column:2;grid-row:1;margin:0 0 20px}
.v31-work-meta{padding:20px 0 0;display:grid;gap:5px}.v31-work-meta span{font-size:14px;color:var(--muted)}.v31-work-meta strong{font-family:var(--serif);font-size:clamp(26px,2.3vw,38px);font-weight:400;letter-spacing:-.025em}

.v31-services{background:var(--charcoal);color:#fff;padding:clamp(105px,10vw,160px) var(--gutter);position:relative;overflow:hidden}
.v31-services:after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(232,143,140,.14),rgba(232,143,140,0) 70%);left:-180px;bottom:-220px;pointer-events:none}
.v31-services-inner{width:min(100%,var(--content));margin:auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,.68fr);gap:clamp(70px,8vw,130px);align-items:start}
.v31-services-copy h2{font-size:clamp(50px,4.5vw,75px);line-height:.99;margin:0 0 28px;max-width:860px}
.v31-services-lead{font-size:18px;line-height:1.65;color:#bbb4ac;max-width:650px;margin:0 0 50px}
.v31-service-list{border-top:1px solid rgba(255,255,255,.22)}
.v31-service-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.22);transition:color .3s ease,padding .3s ease}
.v31-service-row strong{display:block;font-family:var(--serif);font-size:clamp(27px,2.3vw,38px);font-weight:400;margin-bottom:6px}.v31-service-row span{display:block;font-size:15px;color:#aaa39b;max-width:560px;transition:color .3s ease}.v31-service-row b{font-size:23px;font-weight:400;opacity:.45;transition:transform .3s ease,opacity .3s ease}.v31-service-row:hover,.v31-service-row.is-active{color:#f2b0ad;padding-left:10px}.v31-service-row:hover span,.v31-service-row.is-active span{color:#d7d0c8}.v31-service-row:hover b,.v31-service-row.is-active b{transform:translate(3px,-3px);opacity:1}
.v31-services-stage{position:sticky;top:110px;aspect-ratio:.88/1;max-height:720px;background:#322d28;box-shadow:0 35px 80px rgba(0,0,0,.2)}
.v31-service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.v31-service-image.is-active{opacity:1;transform:scale(1)}
.v31-services-caption{position:absolute;left:0;right:0;bottom:0;padding:19px 22px;display:flex;justify-content:space-between;gap:20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.58));font-size:14px;color:#f4eee8}

.v31-studio{padding:clamp(100px,11vw,170px) var(--gutter);background:linear-gradient(120deg,#efe1dc 0%,#f5ede7 52%,#f8f4ef 100%)}
.v31-studio-inner{width:min(100%,var(--content));margin:auto;display:grid;grid-template-columns:minmax(350px,.62fr) minmax(0,1fr);gap:clamp(70px,8vw,140px);align-items:center}
.v31-studio-media{width:min(100%,520px);aspect-ratio:.78/1;position:relative;background:#d8c9bf;box-shadow:0 32px 70px rgba(54,40,31,.12);overflow:hidden}
.v31-studio-media video{width:100%;height:100%;object-fit:cover}
.v31-studio-badge{position:absolute;right:18px;bottom:20px;background:rgba(232,143,140,.95);color:#221d1a;padding:12px 16px;font-size:14px;transform:rotate(-2deg);box-shadow:0 10px 25px rgba(60,40,35,.12);z-index:4}
.v31-studio-copy{max-width:760px}.v31-studio-copy h2{font-size:clamp(52px,5vw,82px);line-height:.98;margin:0 0 30px}.v31-studio-copy>p:not(.section-label){font-size:19px;line-height:1.7;color:var(--muted);max-width:700px;margin-bottom:38px}
.v31-process-words{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 38px}.v31-process-words span{padding:18px 10px 18px 0;font-family:var(--serif);font-size:22px}.v31-process-words span+span{border-left:1px solid var(--line);padding-left:20px}

.v31-cta{padding:clamp(90px,10vw,150px) var(--gutter);background:#fbf6f1;position:relative}.v31-cta:before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--line)}
.v31-cta-inner{width:min(100%,var(--content));margin:auto;display:grid;grid-template-columns:1.25fr .55fr;gap:clamp(70px,9vw,150px);align-items:end}
.v31-cta h2{font-size:clamp(58px,5.3vw,88px);line-height:.98;margin:0}.v31-cta h2 em{font-weight:400;color:var(--coral)}.v31-cta-side p{font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:30px}

.v31-hover-cursor{position:fixed;left:0;top:0;width:84px;height:84px;border-radius:50%;background:rgba(247,243,238,.93);color:var(--ink);z-index:350;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.65);transition:opacity .2s ease,transform .2s ease;box-shadow:0 12px 34px rgba(18,15,13,.12);font-size:14px;font-weight:700;backdrop-filter:blur(8px)}
.v31-hover-cursor.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}

.scroll-progress{position:fixed;z-index:500;left:0;top:0;height:2px;width:100%;pointer-events:none}.scroll-progress span{display:block;height:100%;width:100%;background:var(--coral);transform:scaleX(0);transform-origin:left center}

/* Keep secondary pages premium but stop images from becoming wall-sized on large screens */
@media(min-width:1100px){
  .page-intro,.project-index,.project-story,.next-projects,.service-process,.about-principles{max-width:var(--content);margin-left:auto;margin-right:auto}
  .project-hero,.services-hero,.about-hero,.contact-page{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin-left:auto;margin-right:auto}
  .project-hero-media,.services-hero-media,.about-video,.contact-visual{max-height:760px}
  .service-detail{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
}

@media(max-width:1180px){
  .v31-hero-shell{grid-template-columns:minmax(350px,.9fr) minmax(470px,1.1fr);gap:50px}.v31-hero h1{font-size:clamp(54px,5.8vw,74px)}.v31-hero-art{height:600px}.v31-hero-main{width:78%;height:535px}.v31-manifesto{grid-template-columns:1fr .55fr;gap:60px}.v31-work-grid{grid-template-columns:1.2fr .8fr}.v31-services-inner{grid-template-columns:1fr .72fr;gap:60px}.v31-studio-inner{gap:70px}
}

@media(max-width:900px){
  .v31-hero{padding-top:0}.v31-hero-shell{width:100%;grid-template-columns:1fr;gap:0;min-height:0;padding:0}.v31-hero-art{order:1;height:64vh;min-height:530px;width:100%;background:#e9dfd7}.v31-hero-copy{order:2;padding:60px var(--gutter) 70px;max-width:800px}.v31-hero-main{right:var(--gutter);top:28px;width:74%;height:calc(100% - 70px);max-width:none}.v31-hero-detail{left:var(--gutter);bottom:22px;width:34%;max-width:270px}.v31-hero-note{left:auto;right:calc(var(--gutter) + 12px);top:auto;bottom:48px}.v31-hero h1{font-size:clamp(53px,9vw,74px)}.v31-scope{justify-content:flex-start;overflow:auto;white-space:nowrap}.v31-scope span{flex:none}
  .v31-manifesto{grid-template-columns:1fr;gap:34px;padding:90px 0}.v31-manifesto-mark{left:auto;right:5%;top:16%}.v31-manifesto-side{max-width:680px}.v31-manifesto h2{font-size:clamp(49px,8vw,68px)}
  .v31-section-head{display:grid;gap:25px}.v31-section-head h2{font-size:clamp(46px,7.5vw,64px)}.v31-section-head .inline-link{justify-self:start}.v31-work-grid{grid-template-columns:1fr;gap:44px}.v31-work-card--large{padding:0}.v31-work-card--small{margin:0}.v31-work-card--wide{grid-column:auto;width:100%;margin:0;display:block}.v31-work-card--large .v31-work-media,.v31-work-card--small .v31-work-media,.v31-work-card--wide .v31-work-media{aspect-ratio:1.25/1;max-height:620px}.v31-work-card--wide .v31-work-meta{margin:0;padding-top:20px}.v31-work-meta strong{font-size:32px}
  .v31-services-inner{grid-template-columns:1fr;gap:55px}.v31-services-stage{position:relative;top:auto;width:min(100%,620px);aspect-ratio:1.1/1;max-height:none}.v31-services-copy h2{font-size:clamp(48px,7vw,66px)}
  .v31-studio-inner{grid-template-columns:.7fr 1fr;gap:50px}.v31-studio-media{max-width:400px}.v31-studio-copy h2{font-size:clamp(48px,7vw,68px)}.v31-process-words{grid-template-columns:1fr}.v31-process-words span+span{border-left:0;border-top:1px solid var(--line);padding-left:0}.v31-process-words span{padding:15px 0}
  .v31-cta-inner{grid-template-columns:1fr;gap:34px}.v31-cta-side{max-width:580px}
}

@media(max-width:620px){
  .public-brand{width:128px}.section-label{font-size:14px}.v31-hero-art{height:57vh;min-height:455px}.v31-hero-main{right:18px;top:20px;width:80%;height:78%}.v31-hero-detail{left:18px;bottom:18px;width:42%;border-width:7px}.v31-hero-note{display:none}.v31-image-tag{left:14px;bottom:14px;font-size:14px;padding:8px 10px}.v31-hero-copy{padding:48px 24px 58px}.v31-hero h1{font-size:49px;line-height:.98}.v31-hero h1 span{white-space:normal}.v31-hero-intro{font-size:17px}.v31-scope{padding:16px 24px;font-size:14px;gap:18px}
  .v31-manifesto{width:calc(100% - 48px);padding:76px 0}.v31-manifesto h2{font-size:45px}.v31-manifesto-side p{font-size:17px}.v31-manifesto-mark{width:120px;height:120px;opacity:.48}
  .v31-work{padding:75px 24px}.v31-section-head{margin-bottom:46px}.v31-section-head h2{font-size:45px}.v31-work-grid{gap:38px}.v31-work-card--large .v31-work-media,.v31-work-card--small .v31-work-media,.v31-work-card--wide .v31-work-media{aspect-ratio:1/1.04}.v31-work-meta strong{font-size:29px}
  .v31-services{padding:78px 24px}.v31-services-copy h2{font-size:45px}.v31-services-lead{font-size:17px;margin-bottom:34px}.v31-service-row{padding:21px 0}.v31-service-row strong{font-size:29px}.v31-service-row span{font-size:14px}.v31-services-stage{aspect-ratio:1/1.08}.v31-services-caption{font-size:14px}
  .v31-studio{padding:76px 24px}.v31-studio-inner{grid-template-columns:1fr;gap:48px}.v31-studio-media{width:78%;max-width:360px;margin:0 auto}.v31-studio-badge{right:-24px;bottom:28px}.v31-studio-copy h2{font-size:45px}.v31-studio-copy>p:not(.section-label){font-size:17px}.v31-process-words span{font-size:21px}
  .v31-cta{padding:76px 24px}.v31-cta h2{font-size:49px}.v31-cta-side p{font-size:17px}.v31-hover-cursor{display:none}
}

@media(prefers-reduced-motion:reduce){.v31-hover-cursor{display:none}.v31-service-image{transition:none}}

/* 0.4.0 — communication module. Kept deliberately separate from the 0.3.1 visual system. */
.comm-module{position:relative;z-index:500}.comm-trigger{position:fixed;right:24px;bottom:24px;z-index:501;border:1px solid rgba(23,20,17,.18);background:rgba(255,253,249,.94);color:var(--ink);border-radius:999px;box-shadow:0 15px 42px rgba(25,20,17,.16);backdrop-filter:blur(14px);padding:12px 15px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.comm-trigger strong{font-weight:700}.comm-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(232,143,140,.15)}.comm-backdrop{position:fixed;z-index:502;inset:0;background:rgba(16,14,12,.34);opacity:0;pointer-events:none;transition:opacity .25s ease}.comm-drawer{position:fixed;z-index:503;right:0;top:0;bottom:0;width:min(520px,100%);background:#fbf8f4;color:var(--ink);padding:clamp(30px,4vw,54px);overflow:auto;transform:translateX(105%);transition:transform .42s cubic-bezier(.7,0,.2,1);box-shadow:-28px 0 80px rgba(20,16,14,.18)}body.comm-open{overflow:hidden}body.comm-open .comm-backdrop{opacity:1;pointer-events:auto}body.comm-open .comm-drawer{transform:none}.comm-close{position:absolute;right:22px;top:18px;border:0;background:transparent;font-size:34px;font-weight:300;cursor:pointer;color:#5d5650}.comm-intro>span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#8d5f5c}.comm-intro h2{font-family:var(--serif);font-size:clamp(42px,4vw,58px);line-height:1;margin:17px 0 18px}.comm-intro p{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:32px}.comm-form{display:grid;gap:15px}.comm-form label>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.comm-form input,.comm-form textarea,.comm-form select{width:100%;border:0;border-bottom:1px solid #bfb6ae;background:transparent;padding:10px 0 11px;outline:none;color:var(--ink);font-size:15px}.comm-form input:focus,.comm-form textarea:focus,.comm-form select:focus{border-color:var(--ink)}.comm-form textarea{resize:vertical;min-height:96px}.comm-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comm-submit{margin-top:8px;border:0;background:var(--ink);color:#fff;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;font-weight:700;cursor:pointer}.comm-submit:disabled{opacity:.55;cursor:wait}.comm-status{min-height:20px;margin:0;font-size:13px;color:#5d5650}.comm-status.is-success{color:#477452}.comm-status.is-error{color:#9b4f4f}.comm-alt{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.comm-alt a{color:var(--ink);font-weight:700;border-bottom:1px solid currentColor}.comm-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:700px){.comm-trigger{right:14px;bottom:14px;padding:11px 13px}.comm-drawer{width:100%;padding:56px 22px 30px}.comm-fields{grid-template-columns:1fr}.comm-intro h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.comm-backdrop,.comm-drawer{transition:none}}
.preview-ribbon{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:10020;width:max-content;max-width:calc(100vw - 28px);display:flex;align-items:center;justify-content:center;gap:9px;background:rgba(24,22,20,.96);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 14px;box-shadow:0 10px 34px rgba(0,0,0,.22);backdrop-filter:blur(12px);font:600 10px/1.2 var(--sans);letter-spacing:.035em;pointer-events:none;white-space:nowrap}.preview-ribbon span{color:#f1aaa6;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.preview-ribbon b{font-weight:600;color:#f8f5ef}.is-preview-mode .site-header{top:0}@media(max-width:600px){.preview-ribbon{top:7px;max-width:calc(100vw - 14px);gap:6px;padding:7px 10px;font-size:8px}.preview-ribbon span{font-size:8px;letter-spacing:.07em}}

/* 0.7.0 — Showroom, legal pages and consent manager */
.showroom-page,.showroom-style-page,.legal-page{background:#f5f1eb;color:var(--ink)}
.showroom-hero{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);gap:clamp(52px,7vw,120px);align-items:center;padding:clamp(70px,8vw,130px) var(--gutter);max-width:1800px;margin:0 auto}
.showroom-hero-copy{max-width:680px}.showroom-hero-copy h1{font-size:clamp(58px,5.6vw,98px);line-height:.94;margin:0 0 30px}.showroom-hero-copy h1 em{font-weight:400;color:var(--coral)}.showroom-hero-copy>p{font-size:18px;line-height:1.7;color:var(--muted);max-width:600px}
.showroom-hero-feature{position:relative;display:block;min-height:620px;overflow:hidden;background:#ddd4cb}.showroom-hero-feature img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.showroom-hero-feature:hover img{transform:scale(1.025)}.showroom-hero-feature:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,8,7,.7))}.showroom-hero-feature>span{position:absolute;z-index:2;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);bottom:clamp(24px,3vw,42px);color:#fff;display:grid;grid-template-columns:1fr auto;gap:7px 20px;align-items:end}.showroom-hero-feature small{grid-column:1/-1;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.showroom-hero-feature strong{font:400 clamp(34px,3.4vw,58px)/1 var(--serif)}.showroom-hero-feature i{font-style:normal;font-weight:700;font-size:14px}
.showroom-empty-visual{min-height:620px;background:#e7dfd7;display:grid;place-items:center;color:var(--muted)}
.showroom-index{padding:clamp(90px,10vw,155px) var(--gutter);border-top:1px solid var(--line);max-width:1800px;margin:0 auto}.showroom-index>header{display:grid;grid-template-columns:.45fr 1.55fr;gap:50px;margin-bottom:60px}.showroom-index>header h2{font-size:clamp(46px,4.8vw,78px);line-height:1;margin:0;max-width:1000px}
.showroom-style-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2vw,34px) clamp(18px,2vw,32px)}.showroom-card{grid-column:span 4;display:block}.showroom-card:nth-child(5n+2){margin-top:90px}.showroom-card:nth-child(5n+4){grid-column:span 5}.showroom-card:nth-child(5n+5){grid-column:span 7;margin-top:65px}.showroom-card figure{margin:0;aspect-ratio:.88/1;overflow:hidden;background:#ded5cc}.showroom-card:nth-child(5n+5) figure{aspect-ratio:1.35/1}.showroom-card img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease}.showroom-card:hover img{transform:scale(1.035);filter:saturate(1.03)}.showroom-card>div{padding:20px 0 0}.showroom-card>div>span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.showroom-card h3{font-size:clamp(32px,2.6vw,48px);line-height:1;margin:8px 0 12px}.showroom-card p{font-size:15px;line-height:1.55;color:var(--muted);max-width:480px}.showroom-card b{display:inline-flex;gap:12px;font-size:14px;border-bottom:1px solid;padding-bottom:4px}.showroom-card b i{font-style:normal}
.showroom-note{padding:clamp(105px,11vw,180px) var(--gutter);background:#191816;color:#f8f5ef}.showroom-note>*{max-width:1200px;margin-left:auto;margin-right:auto}.showroom-note>p{font-size:17px;color:#bdb7af}.showroom-note h2{font-size:clamp(52px,5.7vw,90px);line-height:.98;margin-bottom:38px}.showroom-note h2 em{color:#efaaa6;font-weight:400}.showroom-note .inline-link{color:#fff}
.showroom-style-hero{display:grid;grid-template-columns:minmax(380px,.75fr) minmax(540px,1.25fr);gap:clamp(60px,8vw,140px);align-items:center;min-height:calc(100vh - var(--header-h));padding:clamp(65px,8vw,120px) var(--gutter);max-width:1800px;margin:0 auto}.showroom-style-intro{max-width:620px}.showroom-back{display:inline-block;margin-bottom:52px;font-size:14px;font-weight:700;border-bottom:1px solid}.showroom-style-intro h1{font-size:clamp(62px,6vw,102px);line-height:.92;margin:0 0 28px}.showroom-style-intro .lead{font:400 clamp(24px,2.2vw,36px)/1.15 var(--serif);margin-bottom:24px}.showroom-style-intro>p:not(.lead){font-size:17px;line-height:1.7;color:var(--muted);max-width:570px}.showroom-style-cover{margin:0;max-height:780px;aspect-ratio:1.04/1;overflow:hidden;background:#ddd}.showroom-style-cover img{width:100%;height:100%;object-fit:cover}
.showroom-gallery{max-width:1800px;margin:0 auto;padding:0 var(--gutter) clamp(100px,10vw,160px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(18px,2vw,34px)}.showroom-gallery-item{margin:0;grid-column:span 4;overflow:hidden;background:#ddd}.showroom-gallery-item:nth-child(6n+1){grid-column:span 7}.showroom-gallery-item:nth-child(6n+2){grid-column:span 5;margin-top:90px}.showroom-gallery-item:nth-child(6n+3){grid-column:span 4}.showroom-gallery-item:nth-child(6n+4){grid-column:span 8}.showroom-gallery-item:nth-child(6n+5){grid-column:span 5;margin-left:20%}.showroom-gallery-item:nth-child(6n+6){grid-column:span 7}.showroom-gallery-item img{width:100%;height:auto;min-height:340px;max-height:760px;object-fit:cover;transition:transform .75s ease}.showroom-gallery-item:hover img{transform:scale(1.018)}
.showroom-next{padding:clamp(85px,9vw,140px) var(--gutter);background:#e8e0d8}.showroom-next>header,.showroom-next-row{max-width:1650px;margin-left:auto;margin-right:auto}.showroom-next>header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.showroom-next h2{font-size:clamp(48px,4.8vw,76px);margin:0}.showroom-next-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.showroom-next-row>a{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.showroom-next-row>a:last-child{border-right:0}.showroom-next-row img{width:110px;height:90px;object-fit:cover}.showroom-next-row strong,.showroom-next-row small{display:block}.showroom-next-row strong{font:400 25px/1.1 var(--serif)}.showroom-next-row small{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35}.showroom-next-row i{font-style:normal;font-size:23px}
.showroom-teaser{margin:clamp(75px,8vw,120px) var(--gutter);padding:clamp(48px,6vw,88px);background:#e8ddd6;display:grid;grid-template-columns:.6fr 1.4fr auto;gap:45px;align-items:end}.showroom-teaser h2{font-size:clamp(38px,4vw,66px);line-height:1;margin:0}.showroom-teaser p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;max-width:630px}
.legal-page{min-height:70vh;padding-bottom:100px}.legal-hero{padding:clamp(75px,8vw,125px) var(--gutter) clamp(55px,6vw,90px);max-width:1200px;margin:auto}.legal-hero h1{font-size:clamp(54px,5.6vw,88px);line-height:.95;margin:0 0 26px}.legal-hero>p{font-size:19px;line-height:1.65;color:var(--muted);max-width:760px}.legal-preview-flag{margin-top:20px;display:inline-flex;padding:10px 13px;background:#fff1c9;border:1px solid #dfc873;font-weight:700;font-size:13px}.legal-document{max-width:920px;margin:0 auto;padding:0 var(--gutter)}.legal-document section{padding:34px 0;border-top:1px solid var(--line)}.legal-document h2{font-size:clamp(28px,2.5vw,39px);margin:0 0 18px}.legal-document p{font-size:16px;line-height:1.75;color:#403d38;white-space:pre-line}.legal-nav{max-width:920px;margin:65px auto 0;padding:25px var(--gutter) 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 28px}.legal-nav a{font-size:14px;font-weight:700;border-bottom:1px solid}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.15);font-size:13px}.footer-legal-links a,.footer-legal-links button{color:inherit;opacity:.78}.footer-legal-links button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.privacy-banner[hidden],.privacy-modal[hidden]{display:none!important}.privacy-banner{position:fixed;z-index:10000;left:20px;right:20px;bottom:20px;max-width:1240px;margin:auto;background:rgba(24,23,21,.97);color:#f8f5ef;border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 80px rgba(0,0,0,.28);padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;backdrop-filter:blur(18px)}.privacy-banner-copy strong{font:400 25px/1.1 var(--serif)}.privacy-banner-copy p{font-size:14px;line-height:1.5;color:#c8c2bb;margin:7px 0 6px;max-width:690px}.privacy-banner-copy a{font-size:12px;text-decoration:underline}.privacy-banner-actions{display:flex;gap:8px;align-items:center}.privacy-primary,.privacy-secondary{border:1px solid rgba(255,255,255,.25);padding:12px 14px;cursor:pointer;font-weight:700;font-size:13px}.privacy-primary{background:#f1aaa6;color:#181715;border-color:#f1aaa6}.privacy-secondary{background:transparent;color:#fff}.privacy-modal{position:fixed;z-index:10010;inset:0;display:grid;place-items:center;padding:20px}.privacy-modal-scrim{position:absolute;inset:0;background:rgba(9,9,8,.68);backdrop-filter:blur(6px)}.privacy-modal-card{position:relative;width:min(720px,100%);max-height:min(800px,calc(100vh - 40px));overflow:auto;background:#f7f3ed;color:#191816;box-shadow:0 30px 120px rgba(0,0,0,.35)}.privacy-modal-card>header{display:flex;justify-content:space-between;gap:30px;padding:28px 30px 22px;border-bottom:1px solid var(--line)}.privacy-modal-card>header span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}.privacy-modal-card h2{font-size:42px;margin:5px 0 0}.privacy-modal-card>header button{border:0;background:none;font-size:32px;cursor:pointer;width:40px;height:40px}.privacy-category{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:23px 30px;border-bottom:1px solid var(--line);cursor:pointer}.privacy-category strong{font:400 24px/1.1 var(--serif)}.privacy-category p{font-size:13px;line-height:1.5;color:var(--muted);margin:6px 0 0;max-width:500px}.privacy-category.locked span{font-size:12px;font-weight:700;color:#58715d}.privacy-category input{position:absolute;opacity:0}.privacy-category>i{position:relative;width:48px;height:27px;border-radius:99px;background:#c9c2ba;transition:.2s}.privacy-category>i:after{content:"";position:absolute;width:21px;height:21px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.15)}.privacy-category input:checked+i{background:#497054}.privacy-category input:checked+i:after{transform:translateX(21px)}.privacy-modal-card>footer{padding:22px 30px 28px;display:flex;justify-content:space-between;gap:25px;align-items:center}.privacy-modal-card>footer>a{font-size:12px;text-decoration:underline}.privacy-modal-card>footer>div{display:flex;gap:8px}.privacy-modal-card .privacy-secondary{color:#191816;border-color:var(--line)}body.privacy-open{overflow:hidden}
@media(max-width:980px){.showroom-hero,.showroom-style-hero{grid-template-columns:1fr;min-height:0}.showroom-hero-feature{min-height:62vh}.showroom-index>header{grid-template-columns:1fr}.showroom-card{grid-column:span 6}.showroom-card:nth-child(n){margin-top:0}.showroom-card:nth-child(5n+4),.showroom-card:nth-child(5n+5){grid-column:span 6}.showroom-gallery-item:nth-child(n){grid-column:span 6;margin:0}.showroom-next-row{grid-template-columns:1fr}.showroom-next-row>a{border-right:0}.showroom-teaser{grid-template-columns:1fr}.privacy-banner{grid-template-columns:1fr}.privacy-banner-actions{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:620px){.showroom-hero,.showroom-style-hero{padding:50px 20px 75px}.showroom-hero-copy h1,.showroom-style-intro h1{font-size:52px}.showroom-hero-copy>p,.showroom-style-intro>p:not(.lead){font-size:16px}.showroom-hero-feature{min-height:480px}.showroom-index{padding:75px 20px}.showroom-index>header{margin-bottom:38px}.showroom-style-grid{display:block}.showroom-card{margin:0 0 48px!important}.showroom-card figure,.showroom-card:nth-child(5n+5) figure{aspect-ratio:1/1.08}.showroom-gallery{display:block;padding:0 20px 80px}.showroom-gallery-item{margin:0 0 18px!important}.showroom-gallery-item img{min-height:0;max-height:none;width:100%}.showroom-next{padding:70px 20px}.showroom-next>header{display:block}.showroom-next-row>a{grid-template-columns:90px 1fr auto;padding:16px 0}.showroom-next-row img{width:90px;height:76px}.showroom-teaser{margin:60px 20px;padding:35px 25px}.legal-hero{padding:60px 20px 45px}.legal-document{padding:0 20px}.legal-nav{margin:45px 20px 0;padding:20px 0 0}.privacy-banner{left:10px;right:10px;bottom:10px;padding:18px;gap:18px}.privacy-banner-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-banner-actions .privacy-primary{grid-column:1/-1;grid-row:1}.privacy-banner-actions button{width:100%}.privacy-modal{padding:10px}.privacy-modal-card{max-height:calc(100vh - 20px)}.privacy-modal-card>header,.privacy-category,.privacy-modal-card>footer{padding-left:20px;padding-right:20px}.privacy-modal-card>footer{display:block}.privacy-modal-card>footer>div{margin-top:18px;display:grid}.privacy-modal-card>footer button{width:100%}}
.comm-privacy{font-size:12px!important;line-height:1.45!important;color:#817a73!important;margin:2px 0 12px!important}.comm-privacy a{text-decoration:underline;text-underline-offset:2px}.privacy-banner [data-privacy-reject]{background:#fff;color:#191816;border-color:#fff}.footer-legal-links [data-privacy-withdraw]{color:#f2aaa6;opacity:1;font-weight:700}
/* 0.7.0 showroom final QA refinements */
.showroom-style-intro .section-label{display:block;margin-bottom:20px}
.showroom-gallery{display:block;columns:2 520px;column-gap:clamp(18px,2vw,34px)}
.showroom-gallery-item,.showroom-gallery-item:nth-child(n){display:block;break-inside:avoid;grid-column:auto;margin:0 0 clamp(18px,2vw,34px);overflow:hidden}
.showroom-gallery-item img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
@media(max-width:720px){.showroom-gallery{columns:1}.showroom-style-intro .section-label{margin-top:0}}

/* =========================================================
   0.8.0 — Smart inquiry + social proof + editable media slots
   Keeps the locked 0.3.1 visual language; new UI is quieter,
   clearer and conversion-oriented rather than dashboard-like.
   ========================================================= */
.smart-inquiry{display:grid;gap:22px}.smart-inquiry[aria-busy="true"]{opacity:.72;pointer-events:none}
.inquiry-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 4px}.inquiry-progress>span{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-top:1px solid rgba(17,17,15,.18);color:#77726a;font-size:14px}.inquiry-progress>span b{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border:1px solid rgba(17,17,15,.2);border-radius:50%;font:700 12px/1 var(--sans)}.inquiry-progress>span.active{color:var(--ink);border-top-color:var(--ink)}.inquiry-progress>span.active b{background:var(--ink);color:var(--white);border-color:var(--ink)}
.inquiry-step{display:grid;gap:18px}.inquiry-step-head{padding:8px 0 2px}.inquiry-step-head>span{display:block;margin-bottom:7px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#8c6663}.inquiry-step-head h3{font-size:clamp(34px,3vw,48px);line-height:1.02;margin:0 0 10px}.inquiry-step-head p{max-width:620px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.smart-inquiry label>span,.inquiry-scope legend{display:block;margin-bottom:7px;font-size:14px;font-weight:700;color:#393632}.smart-inquiry input:not([type="checkbox"]),.smart-inquiry select,.smart-inquiry textarea{width:100%;border:1px solid rgba(17,17,15,.22);background:#fffdfa;color:var(--ink);border-radius:0;padding:14px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.smart-inquiry textarea{resize:vertical;min-height:112px}.smart-inquiry input:focus,.smart-inquiry select:focus,.smart-inquiry textarea:focus{border-color:#6d625a;box-shadow:0 0 0 3px rgba(234,143,140,.12)}
.comm-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.inquiry-check{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid rgba(17,17,15,.13);background:rgba(255,255,255,.46);cursor:pointer}.inquiry-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex:0 0 auto}.inquiry-check span{margin:0!important;font-weight:400!important}.inquiry-check strong,.inquiry-check small{display:block}.inquiry-check strong{font-size:14px}.inquiry-check small{font-size:13px;line-height:1.45;color:var(--muted);margin-top:3px}.inquiry-check.optional{background:transparent}
.availability-card{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;padding:15px 16px;border-left:3px solid #85817a;background:#eeece7}.availability-card.available{border-color:#5c8066;background:#eaf1eb}.availability-card.limited{border-color:#b28a47;background:#f5eee1}.availability-card.busy{border-color:#9b5955;background:#f3e7e5}.availability-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#85817a}.availability-card.available .availability-dot{background:#5c8066}.availability-card.limited .availability-dot{background:#b28a47}.availability-card.busy .availability-dot{background:#9b5955}.availability-card strong,.availability-card p{display:block}.availability-card strong{font-size:15px}.availability-card p{margin:3px 0 0;font-size:13px;line-height:1.5;color:#625d56}
.inquiry-scope{border:0;padding:0;margin:0}.inquiry-scope legend{margin-bottom:10px}.inquiry-scope{display:flex;flex-wrap:wrap;gap:8px}.inquiry-scope legend{flex:0 0 100%}.inquiry-scope label{cursor:pointer}.inquiry-scope input{position:absolute;opacity:0;pointer-events:none}.inquiry-scope label span{display:block!important;margin:0!important;padding:9px 12px;border:1px solid rgba(17,17,15,.19);font-weight:600!important;font-size:13px!important;background:#fffdfa;transition:.2s ease}.inquiry-scope input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.inquiry-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:5px}.inquiry-back,.comm-submit{border:0;cursor:pointer}.inquiry-back{margin-right:auto;background:transparent;padding:13px 2px;font-weight:700;color:#68625b}.comm-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:190px;background:var(--ink);color:#fff;padding:14px 16px;font-weight:700}.comm-status{min-height:20px;margin:0;color:#7f4f4b;font-size:13px}.comm-privacy{font-size:12px!important;line-height:1.55!important;color:#77716a!important;margin:0!important}.comm-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-page-v2{padding:clamp(60px,8vw,120px) var(--gutter) clamp(90px,10vw,150px)}.contact-page-v2-inner{width:min(100%,1320px);margin:auto;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(520px,1fr);gap:clamp(55px,7vw,120px);align-items:start}.contact-page-v2-copy{position:sticky;top:130px}.contact-page-v2-copy h1{font-size:clamp(52px,5.6vw,88px);line-height:.96;margin:0 0 26px}.contact-page-v2-copy>p{font-size:18px;line-height:1.7;color:var(--muted);max-width:520px}.contact-form-shell{padding:clamp(25px,3vw,42px);background:#f8f4ee;border:1px solid var(--line)}.smart-inquiry-page{gap:26px}

/* Curated studio journal — premium, site-native alternative to embedded social widgets. */
.home-studio-feed{padding:clamp(90px,9vw,150px) var(--gutter);background:#efeae3}.home-proof-head{width:min(100%,var(--content,1500px));margin:0 auto 42px;display:flex;justify-content:space-between;align-items:end;gap:50px}.home-proof-head h2{font-size:clamp(42px,4.3vw,70px);line-height:.98;max-width:850px;margin:0}.studio-feed-grid{width:min(100%,var(--content,1500px));margin:auto;display:grid;grid-template-columns:1.18fr .82fr .82fr;gap:18px;align-items:start}.studio-feed-card{position:relative;background:#ddd4ca;overflow:hidden}.studio-feed-card img,.studio-feed-card video{width:100%;height:100%;object-fit:cover}.studio-feed-card{aspect-ratio:.9/1}.studio-feed-card.is-featured{aspect-ratio:1.12/1}.studio-feed-card:after{content:attr(data-caption);position:absolute;left:14px;right:14px;bottom:14px;padding:10px 12px;background:rgba(247,243,238,.92);backdrop-filter:blur(9px);font-size:13px;line-height:1.35;color:#2e2a26;opacity:0;transform:translateY(8px);transition:.25s ease}.studio-feed-card:hover:after{opacity:1;transform:none}
.home-reviews{padding:clamp(90px,9vw,150px) var(--gutter);background:#f8f4ef;border-top:1px solid var(--line)}.reviews-grid{width:min(100%,var(--content,1500px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.review-card{background:#f8f4ef;padding:clamp(28px,3vw,45px);min-height:320px;display:flex;flex-direction:column}.review-stars{font-size:17px;letter-spacing:.15em;color:#b96f6b}.review-card blockquote{font-family:var(--serif);font-size:clamp(24px,2vw,32px);line-height:1.22;margin:28px 0 36px}.review-card footer{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.review-card footer strong,.review-card footer span{display:block}.review-card footer strong{font-size:14px}.review-card footer span{font-size:13px;color:var(--muted);margin-top:3px}.v31-manifesto-thumb{width:min(100%,360px);aspect-ratio:1.38/1;margin:22px 0 30px}.v31-manifesto-thumb img{width:100%;height:100%;object-fit:cover}.v31-cta-thumb{width:min(100%,220px);aspect-ratio:1.3/1;margin:0 0 24px;overflow:hidden}.v31-cta-thumb img{width:100%;height:100%;object-fit:cover}.footer-socials{display:flex;gap:15px;flex-wrap:wrap}.footer-socials a{font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid transparent}.footer-socials a:hover{border-color:currentColor}

@media(max-width:900px){.contact-page-v2-inner{grid-template-columns:1fr}.contact-page-v2-copy{position:static}.studio-feed-grid{grid-template-columns:1fr 1fr}.studio-feed-card.is-featured{grid-column:1/-1;aspect-ratio:1.65/1}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}.home-proof-head{align-items:start;flex-direction:column;gap:24px}}
@media(max-width:620px){.inquiry-progress>span{padding:8px 0;gap:6px;font-size:11px}.inquiry-progress>span b{width:23px;height:23px;flex-basis:23px}.inquiry-step-head h3{font-size:34px}.inquiry-step-head p{font-size:15px}.comm-fields{grid-template-columns:1fr}.inquiry-scope{gap:6px}.inquiry-scope label span{font-size:12px!important;padding:9px 10px}.inquiry-actions{display:grid;grid-template-columns:auto 1fr}.inquiry-actions .inquiry-back{grid-column:1}.inquiry-actions .comm-submit{grid-column:2;min-width:0;width:100%}.comm-status{grid-column:1/-1}.contact-page-v2{padding:45px 20px 80px}.contact-page-v2-copy h1{font-size:48px}.contact-form-shell{padding:20px 16px}.home-studio-feed,.home-reviews{padding:72px 22px}.home-proof-head h2{font-size:42px}.studio-feed-grid{grid-template-columns:1fr;gap:12px}.studio-feed-card,.studio-feed-card.is-featured{grid-column:auto;aspect-ratio:1.08/1}.studio-feed-card:after{opacity:1;transform:none}.review-card{padding:26px 22px}.review-card blockquote{font-size:25px}}
/* 0.8.0 detail pass */
.smart-contact-page{width:min(calc(100% - (var(--gutter) * 2)),1500px)!important;margin:0 auto!important;grid-template-columns:minmax(330px,.72fr) minmax(560px,1.15fr)!important;align-items:start;min-height:0!important}.smart-contact-page .contact-main{padding:clamp(65px,7vw,105px) clamp(10px,2vw,35px) clamp(50px,6vw,90px) 0;position:sticky;top:var(--header-h);align-self:start}.smart-contact-page .contact-main h1{font-size:clamp(54px,5.2vw,82px);line-height:.95}.smart-contact-page .contact-form-shell{margin:clamp(45px,5vw,80px) 0;padding:clamp(28px,3vw,45px)}.smart-contact-page .contact-aside{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:28px;align-items:end;border:1px solid var(--line);border-left:0;border-right:0;padding:28px 0 34px}.smart-contact-page .contact-aside .contact-email{font-size:22px;margin:0;align-self:end}.contact-trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.contact-trust span{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);font-size:12px}.contact-trust b{font-size:10px;color:#a66d69}.studio-feed-card p{position:absolute;left:14px;right:14px;bottom:14px;z-index:4;margin:0;padding:10px 12px;background:rgba(247,243,238,.93);backdrop-filter:blur(9px);font-size:13px;line-height:1.35;color:#2e2a26;opacity:0;transform:translateY(8px);transition:.25s ease}.studio-feed-card:hover p{opacity:1;transform:none}.studio-feed-card:after{display:none}
@media(max-width:1000px){.smart-contact-page{grid-template-columns:1fr!important}.smart-contact-page .contact-main{position:static;padding:60px 0 15px}.smart-contact-page .contact-form-shell{margin:20px 0 50px}.smart-contact-page .contact-aside{grid-template-columns:1fr 1fr}.smart-contact-page .contact-aside .contact-email{grid-column:1/-1}}
@media(max-width:620px){.smart-contact-page{width:calc(100% - 40px)!important}.smart-contact-page .contact-main{padding:45px 0 8px}.smart-contact-page .contact-main h1{font-size:47px}.smart-contact-page .contact-form-shell{margin:16px 0 35px;padding:18px 14px}.smart-contact-page .contact-aside{grid-template-columns:1fr;padding:24px 0}.smart-contact-page .contact-aside .contact-email{grid-column:auto;font-size:20px}.studio-feed-card p{opacity:1;transform:none}}
.studio-preview-page{min-height:100vh;background:#f3efe9;padding:72px var(--gutter) 55px}.studio-preview-page>section{width:min(100%,1100px);margin:42px auto 0;display:grid;grid-template-columns:.75fr 1fr;gap:70px;align-items:center}.studio-preview-page h1{font-size:clamp(48px,5vw,74px);line-height:.98}.studio-preview-page>section>div>p:not(.section-label){font-size:17px;color:var(--muted);line-height:1.65}.studio-preview-page .studio-feed-card{aspect-ratio:1/1.05}.studio-preview-page .studio-feed-card p{opacity:1;transform:none}
@media(max-width:760px){.studio-preview-page{padding:35px 20px}.studio-preview-page>section{grid-template-columns:1fr;gap:28px;margin-top:50px}.studio-preview-page h1{font-size:46px}}

/* ===== 0.9.0 — editorial polish + calm contextual image rotation ===== */
/* The homepage keeps the 0.3.1 editorial language, but no single heading should swallow a 1080p viewport. */
.v31-manifesto h2{
  font-size:clamp(46px,4.1vw,74px);
  line-height:1.01;
  max-width:940px;
  text-wrap:balance;
}
.home-proof-head h2{
  font-size:clamp(38px,3.3vw,60px);
  line-height:1.01;
  max-width:780px;
  text-wrap:balance;
}

/* Controlled asymmetry: editorial rather than accidental. All backstage cards share one visual baseline. */
.studio-feed-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.96fr) minmax(0,.96fr);
  gap:18px;
  align-items:stretch;
}
.studio-feed-card,
.studio-feed-card.is-featured{
  aspect-ratio:auto;
  height:clamp(360px,29vw,520px);
  min-height:0;
}
.studio-feed-card img,
.studio-feed-card video{
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.studio-feed-card:hover img,
.studio-feed-card:hover video{
  transform:scale(1.025);
  filter:saturate(1.025);
}

/* Rotation swaps are deliberately invisible: no carousel chrome, no animation while reading. */
[data-editorial-rotation]{transition:opacity .18s ease}
[data-editorial-rotation].is-rotating{opacity:.985}

@media(max-width:1100px){
  .v31-manifesto h2{font-size:clamp(44px,6vw,62px)}
  .home-proof-head h2{font-size:clamp(38px,5.4vw,54px)}
  .studio-feed-grid{grid-template-columns:1fr 1fr}
  .studio-feed-card,.studio-feed-card.is-featured{height:clamp(330px,44vw,470px)}
  .studio-feed-card.is-featured{grid-column:1/-1;height:clamp(360px,54vw,520px)}
}
@media(max-width:620px){
  .v31-manifesto h2{font-size:clamp(39px,11vw,48px);line-height:1.02}
  .home-proof-head h2{font-size:clamp(36px,10vw,44px);line-height:1.03}
  .studio-feed-grid{grid-template-columns:1fr;gap:12px}
  .studio-feed-card,.studio-feed-card.is-featured{
    grid-column:auto;
    height:auto;
    aspect-ratio:1.05/1;
  }
}

/* ===== 0.10.0 — typography finesse + stronger editorial image scale ===== */
:root{
  /* Constantia/Baskerville read lighter and more editorial than the previous Palatino-first stack. */
  --serif:Constantia,"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;
}
h1,h2,h3{font-weight:400;letter-spacing:-.028em;text-rendering:optimizeLegibility}

/* Secondary pages: keep the premium scale, but remove the heavy poster-like feeling. */
.page-intro h1,
.project-hero-copy h1,
.services-hero h1,
.about-copy h1,
.contact-main h1,
.showroom-hero-copy h1,
.showroom-style-intro h1{
  font-size:clamp(50px,5.25vw,82px);
  line-height:1.01;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.project-index-copy h2,
.project-story-copy h2,
.next-projects-head h2,
.service-detail-copy h2,
.service-process-head h2,
.about-principles h2,
.showroom-index h2,
.showroom-next h2{
  letter-spacing:-.025em;
  line-height:1.04;
}
.page-intro-grid>p,
.project-story-copy>p:not(.section-label),
.service-detail-copy>p,
.about-copy>p,
.contact-main>p,
.showroom-hero-copy>p,
.showroom-style-intro>p:not(.section-label){
  font-weight:400;
  line-height:1.72;
}

/* User feedback: the side images in these two homepage sections were visually under-scaled. */
.v31-manifesto{grid-template-columns:minmax(0,1.2fr) minmax(390px,.68fr);gap:clamp(64px,7vw,120px)}
.v31-manifesto-thumb{width:min(100%,470px);aspect-ratio:1.42/1;margin:24px 0 31px}
.v31-manifesto-thumb img{width:100%;height:100%;object-fit:cover}
.v31-cta-inner{grid-template-columns:minmax(0,1.18fr) minmax(350px,.64fr);gap:clamp(64px,7vw,120px)}
.v31-cta-thumb{width:min(100%,360px);aspect-ratio:1.42/1;margin:0 0 26px;overflow:hidden}
.v31-cta-thumb img{width:100%;height:100%;object-fit:cover}

@media(max-width:1180px){
  .v31-manifesto{grid-template-columns:1fr minmax(330px,.62fr)}
  .v31-cta-inner{grid-template-columns:1fr minmax(320px,.58fr)}
}
@media(max-width:900px){
  .v31-manifesto,.v31-cta-inner{grid-template-columns:1fr}
  .v31-manifesto-thumb{width:min(100%,560px)}
  .v31-cta-thumb{width:min(100%,440px)}
  .page-intro h1,.project-hero-copy h1,.services-hero h1,.about-copy h1,.contact-main h1,.showroom-hero-copy h1,.showroom-style-intro h1{font-size:clamp(48px,8.8vw,70px)}
}
@media(max-width:620px){
  .v31-manifesto-thumb,.v31-cta-thumb{width:100%;max-width:none}
  .page-intro h1,.project-hero-copy h1,.services-hero h1,.about-copy h1,.contact-main h1,.showroom-hero-copy h1,.showroom-style-intro h1{font-size:clamp(43px,12vw,56px);line-height:1.02}
}

/* ===== 0.11.0 — private client quote experience ===== */
.client-quote-page{margin:0;background:#f3efe9;color:#181513;font-family:var(--sans);font-size:15px}.quote-preview-ribbon{position:sticky;top:0;z-index:20;background:#191715;color:#fff;text-align:center;padding:9px 14px;font-size:10px;font-weight:750;letter-spacing:.08em}.client-quote-shell{width:min(1180px,calc(100% - 36px));margin:24px auto 60px;background:#fbf8f3;border:1px solid #dfd7cf;box-shadow:0 24px 80px rgba(42,34,28,.08)}.client-quote-header{display:flex;justify-content:space-between;align-items:center;padding:30px 42px;border-bottom:1px solid #dfd7cf}.client-quote-logo img{display:block;width:240px;height:68px;object-fit:contain;object-position:left center}.client-quote-ref{text-align:right}.client-quote-ref span,.client-quote-ref strong{display:block}.client-quote-ref span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7c746c}.client-quote-ref strong{font-size:11px;margin-top:5px}.client-quote-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:70px;padding:82px 70px 72px;align-items:end}.client-quote-hero .quote-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:#a46663;margin-bottom:22px}.client-quote-hero h1{font:400 clamp(48px,6vw,78px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 24px;max-width:760px}.client-quote-hero p{max-width:670px;font-size:15px;line-height:1.75;color:#675f58;white-space:pre-line;margin:0}.client-quote-hero aside{padding:24px 0 4px;border-top:1px solid #bfb5ac}.client-quote-hero aside span,.client-quote-hero aside strong,.client-quote-hero aside small{display:block}.client-quote-hero aside span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8a8077}.client-quote-hero aside strong{font:400 27px/1.12 var(--serif);margin:9px 0}.client-quote-hero aside small{font-size:10px;color:#777068;line-height:1.5}.client-quote-eventbar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfd7cf;border-bottom:1px solid #dfd7cf}.client-quote-eventbar>div{padding:24px 36px;border-right:1px solid #dfd7cf}.client-quote-eventbar>div:last-child{border-right:0}.client-quote-eventbar span,.client-quote-eventbar strong,.client-quote-eventbar small{display:block}.client-quote-eventbar span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8b8178}.client-quote-eventbar strong{font:400 20px/1.15 var(--serif);margin-top:8px}.client-quote-eventbar small{font-size:9px;color:#80776f;margin-top:5px}.client-quote-scope,.client-quote-note,.client-quote-terms{padding:76px 70px;border-bottom:1px solid #dfd7cf}.client-quote-section-head{display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;margin-bottom:38px}.client-quote-section-head>span{font:400 20px/1 var(--serif);color:#d48380}.client-quote-section-head small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#8a8077;margin-bottom:8px}.client-quote-section-head h2{font:400 clamp(32px,4vw,50px)/1.02 var(--serif);letter-spacing:-.035em;margin:0}.client-quote-items{border-top:1px solid #bbb0a6}.client-quote-items article{display:grid;grid-template-columns:54px minmax(0,1fr) 180px;gap:20px;padding:24px 0;border-bottom:1px solid #ddd5cd;align-items:start}.client-quote-item-no{font-size:9px;color:#9a9188;padding-top:4px}.client-quote-item-copy small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#a46663;margin-bottom:5px}.client-quote-item-copy h3{font:400 23px/1.12 var(--serif);margin:0}.client-quote-item-copy p{font-size:11px;line-height:1.55;color:#6f675f;margin:8px 0 0;white-space:pre-line}.client-quote-item-meta{text-align:right}.client-quote-item-meta span,.client-quote-item-meta strong{display:block}.client-quote-item-meta span{font-size:9px;color:#817970}.client-quote-item-meta strong{font:400 19px/1 var(--serif);margin-top:8px}.client-quote-empty{padding:24px 0;color:#777068}.client-quote-summary{width:min(520px,100%);margin:34px 0 0 auto}.client-quote-summary>div{display:flex;justify-content:space-between;gap:30px;padding:10px 0;border-bottom:1px solid #e0d7cf;font-size:11px}.client-quote-summary>div.total{border-top:1px solid #bfb4aa;border-bottom:0;margin-top:8px;padding-top:19px;align-items:end}.client-quote-summary .total span{font-size:9px;text-transform:uppercase;letter-spacing:.09em}.client-quote-summary .total strong{font:400 32px/1 var(--serif)}.client-quote-note>p,.client-quote-terms>p{max-width:780px;margin:0 0 0 74px;font-size:13px;line-height:1.8;color:#635b54;white-space:pre-line}.client-quote-next{margin:44px 0 0 74px;padding:27px 30px;background:#191715;color:#fff;display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:start}.client-quote-next span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#e0a09c}.client-quote-next strong{font:400 21px/1.35 var(--serif)}.client-quote-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 42px}.client-quote-footer>div{display:flex;align-items:center;gap:10px}.client-quote-footer img{width:34px;height:34px;object-fit:contain}.client-quote-footer span{font-weight:700;font-size:11px}.client-quote-footer p{font-size:9px;color:#817970;margin:0}.client-quote-footer button{border:1px solid #bfb5ac;background:transparent;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:700;cursor:pointer}
@media(max-width:760px){.client-quote-shell{width:100%;margin:0;border-left:0;border-right:0}.client-quote-header{padding:20px 18px}.client-quote-logo img{width:176px;height:48px}.client-quote-ref strong{font-size:9px}.client-quote-hero{grid-template-columns:1fr;gap:42px;padding:58px 22px 46px}.client-quote-hero h1{font-size:clamp(43px,12vw,58px)}.client-quote-eventbar{grid-template-columns:1fr}.client-quote-eventbar>div{border-right:0;border-bottom:1px solid #dfd7cf;padding:18px 22px}.client-quote-eventbar>div:last-child{border-bottom:0}.client-quote-scope,.client-quote-note,.client-quote-terms{padding:52px 22px}.client-quote-section-head{grid-template-columns:38px 1fr;gap:12px}.client-quote-items article{grid-template-columns:34px 1fr;gap:10px}.client-quote-item-meta{grid-column:2;text-align:left;display:flex;justify-content:space-between;align-items:center}.client-quote-item-meta strong{margin:0}.client-quote-note>p,.client-quote-terms>p,.client-quote-next{margin-left:50px}.client-quote-next{grid-template-columns:1fr;gap:10px;padding:22px}.client-quote-footer{align-items:flex-start;flex-direction:column;padding:24px 22px}.client-quote-footer button{width:100%}}
@media print{.quote-preview-ribbon,.client-quote-footer button{display:none!important}.client-quote-page{background:#fff}.client-quote-shell{width:100%;margin:0;border:0;box-shadow:none}.client-quote-header{padding-top:0}.client-quote-scope,.client-quote-note,.client-quote-terms{break-inside:avoid}.client-quote-items article{break-inside:avoid}}

/* ===== 0.11.1 — homepage composition polish from live review ===== */
/* The secondary hero frame should read as a deliberate editorial overlap, not a thumbnail. */
@media(min-width:901px){
  .v31-hero-detail{width:45%;max-width:355px;aspect-ratio:1.16/1;left:-1.5%;bottom:-1.5%;border-width:10px}
  .v31-hero-note{left:5%;top:14%}
}

/* “Nowy projekt”: use the right column as an image-led composition, not a small card floating in whitespace. */
.v31-cta-inner{grid-template-columns:minmax(0,1.08fr) minmax(430px,.72fr);gap:clamp(70px,7vw,125px);align-items:center}
.v31-cta-side{width:100%;max-width:540px;justify-self:end;align-self:center}
.v31-cta-thumb{width:100%;max-width:520px;aspect-ratio:1.46/1;margin:0 0 26px;box-shadow:0 18px 48px rgba(42,30,22,.08)}
.v31-cta-thumb img{object-position:center 46%}

/* “Nasze podejście”: a touch more image presence while retaining text hierarchy. */
.v31-manifesto-thumb{width:min(100%,520px);aspect-ratio:1.46/1}

@media(max-width:1180px){
  .v31-cta-inner{grid-template-columns:1fr minmax(380px,.66fr);gap:55px}
  .v31-cta-side{max-width:500px}
}
@media(max-width:900px){
  .v31-cta-inner{grid-template-columns:1fr;align-items:start}
  .v31-cta-side{justify-self:start;max-width:620px}
  .v31-cta-thumb{max-width:620px}
}
@media(max-width:620px){
  .v31-hero-detail{width:46%}
  .v31-cta-thumb,.v31-manifesto-thumb{width:100%;max-width:none}
}

/* ===== 0.13.0 — inquiry reliability polish ===== */
.smart-inquiry .inquiry-actions{margin-top:2px;padding-top:18px;border-top:1px solid rgba(17,17,15,.12)}
.smart-inquiry .comm-submit{min-height:52px;border-radius:0;transition:transform .16s ease,background .16s ease}
.smart-inquiry .comm-submit:hover{transform:translateY(-1px);background:#25211e}
.smart-inquiry .comm-status.is-success{min-height:0;padding:11px 13px;border:1px solid #cfe0d2;background:#eef6ef;color:#3f6f49}
.smart-inquiry .comm-status.is-error{min-height:0;padding:11px 13px;border:1px solid #e7cbc8;background:#fbefed;color:#914c48}
@media(max-width:620px){.smart-inquiry .inquiry-actions{gap:8px}.smart-inquiry .comm-submit{min-height:50px}}

/* 0.14.0 — contact preference + client variant offer */
.contact-preference{border:1px solid #ded6ce;padding:14px;margin:16px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.contact-preference legend{font-weight:750;font-size:12px;padding:0 6px}.contact-preference label{display:flex;gap:9px;align-items:flex-start;border:1px solid #e5ddd6;padding:11px;background:#fff;cursor:pointer}.contact-preference input{margin-top:3px}.contact-preference strong,.contact-preference small{display:block}.contact-preference strong{font-size:12px}.contact-preference small{font-size:10px;color:#786f67;line-height:1.45;margin-top:3px}
.inquiry-offer-public{margin:0;background:#f2ede7;color:#181513;font-family:var(--sans);font-size:15px}.inquiry-offer-shell{width:min(1320px,calc(100% - 32px));margin:24px auto 60px;background:#fbf8f3;border:1px solid #ddd5cd;box-shadow:0 24px 80px rgba(42,34,28,.08)}.inquiry-offer-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.45fr);gap:70px;padding:76px 64px 60px;align-items:end;border-bottom:1px solid #ddd5cd}.inquiry-offer-hero .quote-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:#a46663;margin-bottom:20px}.inquiry-offer-hero h1{font:400 clamp(48px,5.4vw,76px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 22px}.inquiry-offer-hero p{font-size:14px;line-height:1.75;color:#675f58;max-width:720px;white-space:pre-line}.inquiry-offer-hero aside{border-top:1px solid #bdb3aa;padding-top:18px}.inquiry-offer-hero aside span,.inquiry-offer-hero aside strong,.inquiry-offer-hero aside small{display:block}.inquiry-offer-hero aside span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#837971}.inquiry-offer-hero aside strong{font:400 26px/1.1 var(--serif);margin:7px 0}.inquiry-offer-hero aside small{font-size:10px;color:#756c64}.offer-selected-banner{margin:28px 64px 0;padding:20px 22px;background:#e8f1e9;border:1px solid #d0e0d2}.offer-selected-banner strong,.offer-selected-banner span{display:block}.offer-selected-banner strong{font:400 24px/1.1 var(--serif)}.offer-selected-banner span{font-size:11px;color:#5d6f60;margin-top:5px}.public-variant-grid{display:grid;gap:14px;padding:46px 64px}.public-variant-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.public-variant-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.public-variant{border:1px solid #d9d0c7;background:#fff;padding:24px;display:flex;flex-direction:column;min-width:0}.public-variant.chosen{border-color:#d88480;box-shadow:0 0 0 2px rgba(216,132,128,.14)}.public-variant-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding-bottom:20px;border-bottom:1px solid #e5ddd5}.public-variant-head>span{font:400 18px/1 var(--serif);color:#d17e7a}.public-variant-head small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8c8279}.public-variant-head h2{font:400 31px/1.02 var(--serif);margin:4px 0 0}.public-variant-head p{font-size:10px;color:#a46663;margin:6px 0 0}.variant-description{font-size:11px;line-height:1.65;color:#6c635c;margin:16px 0}.public-variant-items{display:grid;margin-top:4px}.public-variant-items>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:13px 0;border-top:1px solid #eee7df}.public-variant-items strong,.public-variant-items small{display:block}.public-variant-items strong{font-size:11px}.public-variant-items small{font-size:9px;color:#80766e;margin-top:3px;line-height:1.5}.public-variant-items b{font:400 16px/1 var(--serif);white-space:nowrap}.public-variant-total{display:flex;justify-content:space-between;align-items:end;margin-top:auto;padding-top:20px;border-top:1px solid #bfb4aa}.public-variant-total span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7f756d}.public-variant-total strong{font:400 29px/1 var(--serif)}.public-variant form{margin-top:18px}.public-variant button{width:100%;border:0;background:#191715;color:#fff;padding:14px 16px;font-weight:750;cursor:pointer}.chosen-label{margin-top:18px;background:#e8f1e9;color:#4c6b53;text-align:center;padding:12px;font-size:11px;font-weight:750}.public-offer-notes{display:grid;grid-template-columns:.5fr 1fr 1fr;border-top:1px solid #ddd5cd}.public-offer-notes>div{padding:28px 30px;border-right:1px solid #ddd5cd}.public-offer-notes>div:last-child{border-right:0}.public-offer-notes span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#827870}.public-offer-notes strong{font:400 21px/1.15 var(--serif);display:block;margin-top:8px}.public-offer-notes p{font-size:11px;line-height:1.7;color:#675f58;margin:8px 0 0;white-space:pre-line}
@media(max-width:900px){.contact-preference{grid-template-columns:1fr}.inquiry-offer-shell{width:100%;margin:0;border-left:0;border-right:0}.inquiry-offer-hero{grid-template-columns:1fr;gap:34px;padding:56px 22px 42px}.public-variant-grid.count-2,.public-variant-grid.count-3{grid-template-columns:1fr}.public-variant-grid{padding:28px 18px}.offer-selected-banner{margin:20px 18px 0}.public-offer-notes{grid-template-columns:1fr}.public-offer-notes>div{border-right:0;border-bottom:1px solid #ddd5cd;padding:22px}.public-offer-notes>div:last-child{border-bottom:0}}


/* 0.14.4 CMS preview hardening: deterministic render inside panel iframe. */
.is-preview-mode .reveal-up{opacity:1!important;transform:none!important;transition:none!important}
.is-preview-mode .media-reveal:after{display:none!important}
.is-preview-mode .media-reveal img,.is-preview-mode .media-reveal video{transform:none!important;transition:none!important}
.is-preview-mode .page-curtain{display:none!important}
.is-preview-mode [data-parallax]{transform:none!important}
.is-preview-mode .v31-hover-cursor,.is-preview-mode .scroll-progress{display:none!important}
.is-preview-mode .preview-ribbon{left:auto;right:16px;top:auto;bottom:16px;transform:none;max-width:min(420px,calc(100vw - 32px));white-space:normal;text-align:left;justify-content:flex-start}
@media(max-width:600px){.is-preview-mode .preview-ribbon{right:8px;bottom:8px;max-width:calc(100vw - 16px)}}

/* 0.15.5 — keep 0.15.2 fail-safe motion without changing the pre-15 visual language. */
.reveal-up{opacity:1;transform:none}
.media-reveal:after{transform:translateY(-101%)}
html.motion-ready .reveal-up:not(.is-visible){opacity:0;transform:translateY(28px)}
html.motion-ready .media-reveal:not(.is-visible):after{transform:translateY(0)}
html.motion-ready .reveal-up.is-visible{opacity:1;transform:none}
html.motion-ready .media-reveal.is-visible:after{transform:translateY(-101%)}
.page-curtain:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--coral);opacity:.9}
body.page-entering .page-curtain{transform:translateY(0);transition:none}
body.page-entering.page-entered .page-curtain{transform:translateY(-101%);transition:transform .58s cubic-bezier(.72,0,.2,1)}
body.page-leaving .page-curtain{transform:translateY(0);transition:transform .48s cubic-bezier(.72,0,.2,1)}
.scroll-progress{position:fixed;z-index:9500;left:0;right:0;top:0;height:2px;pointer-events:none;transform:translateZ(0)}
.scroll-progress span{display:block;width:100%;height:100%;background:var(--coral);transform:scaleX(0);transform-origin:left center;will-change:transform}
html.motion-ready .scroll-image-depth{will-change:translate}
@media(prefers-reduced-motion:reduce){
  html.motion-ready .reveal-up{opacity:1!important;transform:none!important}
  html.motion-ready .media-reveal:after{display:none!important}
  body.page-entering .page-curtain,body.page-entering.page-entered .page-curtain{display:none!important}
  .scroll-progress{display:none}
}

/* =========================================================
   0.15.6 — deep public UX polish
   Preserve the pre-15 editorial language. The goal is rhythm,
   layering and restrained motion — no new card system / AI-like UI.
   ========================================================= */

/* Calm the global rhythm and keep the page on one editorial grid. */
.home-v31{--v31-max:1580px;--v31-soft-shadow:0 24px 64px rgba(46,34,27,.105)}
.home-v31 .section-label{letter-spacing:.135em}
.home-v31 .v31-hero-shell,
.home-v31 .v31-manifesto,
.home-v31 .v31-section-head,
.home-v31 .v31-work-grid,
.home-v31 .v31-services-inner,
.home-v31 .v31-studio-inner,
.home-v31 .home-proof-head,
.home-v31 .studio-feed-grid,
.home-v31 .reviews-grid,
.home-v31 .v31-cta-inner{max-width:var(--v31-max)}

/* Botanicals are a background layer, never a separate module. */
.home-v31 .v31-floral{position:absolute;z-index:0;pointer-events:none;user-select:none;opacity:.19;filter:none;mix-blend-mode:multiply;will-change:transform;transform:translate3d(0,var(--botanical-y,0px),0) rotate(var(--floral-rotate,0deg))}
.home-v31 .v31-hero-art{isolation:isolate}
.home-v31 .v31-hero-art>a,.home-v31 .v31-hero-art>.v31-hero-note{z-index:2}
.home-v31 .v31-floral-hero-a{--floral-rotate:-8deg;width:56%;left:-19%;top:4%}
.home-v31 .v31-floral-hero-b{--floral-rotate:8deg;width:31%;right:-11%;bottom:0}

/* Important: reveal masks must stay clipped. 0.15.5 let the mask escape
   above the manifesto/CTA image, creating the large blush rectangles. */
.home-v31 .v31-botanical-frame{position:relative;isolation:isolate;width:100%;overflow:visible}
.home-v31 .v31-botanical-frame .media-reveal{position:relative;z-index:2;overflow:hidden}
.home-v31 .v31-botanical-frame .media-reveal:after{z-index:4}
.home-v31 .v31-botanical-frame .media-reveal>img{position:relative;z-index:1}
.home-v31 .v31-floral-manifesto{--floral-rotate:12deg;width:76%;right:-29%;top:-34%}
.home-v31 .v31-floral-cta{--floral-rotate:-14deg;width:58%;left:-25%;bottom:-33%}

/* Hero: keep the approved pre-15 asymmetry, but make the overlap intentional. */
.v31-hero{padding-top:clamp(38px,4.8vw,74px)}
.v31-hero-shell{grid-template-columns:minmax(430px,.84fr) minmax(600px,1.16fr);gap:clamp(58px,6.4vw,108px);min-height:calc(86vh - var(--header-h));padding-bottom:clamp(58px,6vw,88px)}
.v31-hero-copy{max-width:700px}
.v31-hero h1{font-size:clamp(58px,4.8vw,82px);line-height:.97;margin-bottom:29px;text-wrap:balance}
.v31-hero-intro{max-width:590px;margin-bottom:30px}
.v31-hero-art{height:min(650px,69vh);min-height:550px}
.v31-hero-main{width:min(78%,660px);height:min(89%,590px);box-shadow:var(--v31-soft-shadow)}
.v31-hero-detail{width:43%;max-width:340px;left:-.5%;bottom:1%;border-width:9px;box-shadow:0 18px 46px rgba(42,30,22,.13)}
.v31-hero-note{left:4.5%;top:12%;padding:15px 18px;box-shadow:0 13px 32px rgba(20,17,15,.09)}
.v31-scope{min-height:68px;padding-block:15px}

/* Manifesto: remove the accidental empty gulf and give the image enough authority. */
.v31-manifesto{padding:clamp(88px,8vw,132px) 0;grid-template-columns:minmax(0,1.14fr) minmax(390px,.68fr);gap:clamp(64px,7vw,116px);align-items:center}
.v31-manifesto-copy{align-self:center}
.v31-manifesto h2{max-width:900px;text-wrap:balance}
.v31-manifesto-side{padding-bottom:0;align-self:center}
.v31-manifesto-side>p{margin-bottom:25px;max-width:520px}
.v31-botanical-frame--manifesto{width:min(100%,535px);margin:0 0 28px}
.v31-manifesto-thumb{width:100%;max-width:none;aspect-ratio:1.46/1;margin:0;box-shadow:0 17px 42px rgba(44,32,26,.07)}

/* Work: keep the asymmetric magazine layout but tighten its cadence. */
.v31-work{padding:clamp(80px,7.2vw,116px) var(--gutter)}
.v31-section-head{margin-bottom:clamp(46px,4.8vw,72px)}
.v31-work-grid{grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);gap:clamp(30px,3.2vw,52px);position:relative;isolation:isolate}
.v31-work-card{z-index:1}
.v31-work-card--large{padding-right:clamp(0px,1.4vw,22px)}
.v31-work-card--small{margin-top:clamp(62px,6.2vw,98px)}
.v31-work-card--wide{width:76%;margin:clamp(44px,4.4vw,64px) 2.5% 0 auto;gap:36px}
.v31-work-grid:before,.v31-work-grid:after{content:"";position:absolute;z-index:0;width:34%;aspect-ratio:1.85/1;background:url('/media/floral-branch.svg') center/contain no-repeat;opacity:.13;pointer-events:none;will-change:transform}
.v31-work-grid:before{left:-10%;top:-5%;transform:rotate(-9deg)}
.v31-work-grid:after{right:-12%;bottom:7%;transform:rotate(10deg)}
.v31-work-media{box-shadow:0 14px 36px rgba(44,33,27,.045)}

/* Dark service chapter remains a strong counterpoint, but not an oversized wall. */
.v31-services{padding:clamp(92px,8vw,132px) var(--gutter)}
.v31-services-inner{grid-template-columns:minmax(0,.98fr) minmax(410px,.64fr);gap:clamp(68px,7vw,112px);align-items:center}
.v31-services-copy h2{max-width:800px}
.v31-services-lead{margin-bottom:38px}
.v31-service-row{padding:22px 0}
.v31-services-stage{top:104px;max-height:650px;box-shadow:0 28px 70px rgba(0,0,0,.22)}

/* Studio: image and copy should read as one spread, not two unrelated columns. */
.v31-studio{padding:clamp(90px,8.5vw,138px) var(--gutter)}
.v31-studio-inner{grid-template-columns:minmax(330px,.58fr) minmax(0,1fr);gap:clamp(68px,7.5vw,122px)}
.v31-studio-media-wrap{position:relative;isolation:isolate;width:min(100%,520px);margin-inline:auto}
.v31-studio-media{position:relative;z-index:2;width:100%;max-width:none;box-shadow:0 28px 64px rgba(54,40,31,.12)}
.v31-floral-studio{--floral-rotate:-12deg;width:66%;left:-28%;bottom:-18%;opacity:.15!important}
.v31-studio-copy h2{max-width:720px;text-wrap:balance}
.v31-process-words{margin-bottom:30px}

/* Journal/reviews: less beige runway between major sections. */
.home-studio-feed{padding:clamp(80px,7.5vw,118px) var(--gutter)}
.home-reviews{padding:clamp(80px,7.5vw,118px) var(--gutter)}
.home-proof-head{margin-bottom:36px}
.studio-feed-grid{gap:16px}

/* Closing CTA: restore the pre-15 voice, but let the image carry equal visual weight. */
.v31-cta{padding:clamp(82px,7.6vw,122px) var(--gutter)}
.v31-cta-inner{grid-template-columns:minmax(0,1.02fr) minmax(440px,.78fr);gap:clamp(72px,7vw,120px);align-items:center}
.v31-cta h2{max-width:760px;text-wrap:balance}
.v31-cta-side{max-width:610px;width:100%}
.v31-botanical-frame--cta{width:100%;margin:0 0 24px}
.v31-cta-thumb{width:100%;max-width:none;aspect-ratio:1.52/1;margin:0;box-shadow:0 18px 45px rgba(42,30,22,.08)}
.v31-cta-side>p{max-width:560px;margin-bottom:26px}

/* Footer closes the story instead of becoming a second oversized hero. */
.footer-lead{min-height:285px;padding-block:38px}
.footer-lead a{font-size:clamp(48px,5.4vw,84px);max-width:1160px}
.footer-grid{padding-top:58px;padding-bottom:52px}

/* Motion composition: JS only writes variables. Content remains visible if JS fails. */
.home-v31 [data-parallax]{--parallax-y:0px;--parallax-scale:1.025;transform:translate3d(0,var(--parallax-y),0) scale(var(--parallax-scale))!important;will-change:transform}
.home-v31 .v31-work-card:hover [data-parallax]{--parallax-scale:1.045}
.home-v31 .v31-hero-main:hover [data-parallax]{--parallax-scale:1.04}
.home-v31 .media-reveal>img[data-parallax],.home-v31 .media-reveal>video[data-parallax]{transition:transform .95s cubic-bezier(.2,.7,.2,1),filter .45s ease}
html.motion-ready .home-v31 .media-reveal:not(.is-visible)>img:not([data-parallax]),
html.motion-ready .home-v31 .media-reveal:not(.is-visible)>video:not([data-parallax]){transform:scale(1.018)}

/* Slightly more premium reveal: fast enough to feel responsive, slow enough to read. */
html.motion-ready .home-v31 .reveal-up:not(.is-visible){transform:translateY(22px)}
.home-v31 .reveal-up{transition-duration:.78s}
.home-v31 .media-reveal:after{transition-duration:.82s}

@media(max-width:1180px){
  .v31-hero-shell{grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);gap:48px}
  .v31-manifesto{grid-template-columns:1fr minmax(340px,.62fr);gap:55px}
  .v31-services-inner{grid-template-columns:1fr .72fr;gap:58px}
  .v31-cta-inner{grid-template-columns:1fr minmax(390px,.68fr);gap:56px}
}
@media(max-width:900px){
  .v31-hero-shell{grid-template-columns:1fr;gap:0}.v31-hero-art{height:62vh;min-height:515px}.v31-hero-copy{padding-top:56px;padding-bottom:64px}
  .home-v31 .v31-floral-hero-a{width:58%;left:-8%;top:2%}.home-v31 .v31-floral-hero-b{width:34%;right:-7%;bottom:0}
  .v31-manifesto{grid-template-columns:1fr;gap:38px;padding:82px 0}.v31-botanical-frame--manifesto{width:min(100%,600px)}
  .v31-work-grid{grid-template-columns:1fr;gap:42px}.v31-work-card--small{margin-top:0}.v31-work-card--wide{width:100%;margin:0;display:block}.v31-work-grid:before,.v31-work-grid:after{width:31%}
  .v31-services-inner{grid-template-columns:1fr}.v31-services-stage{max-height:none}
  .v31-studio-inner{grid-template-columns:minmax(280px,.7fr) 1fr;gap:50px}.v31-studio-media-wrap{max-width:410px}
  .v31-cta-inner{grid-template-columns:1fr;gap:36px}.v31-cta-side{max-width:640px;justify-self:start}.v31-botanical-frame--cta{max-width:640px}
  .footer-lead{min-height:260px}
}
@media(max-width:620px){
  .home-v31 .v31-floral{opacity:.14}.home-v31 .v31-floral-hero-a{width:72%;left:-18%;top:-2%}.home-v31 .v31-floral-hero-b{width:45%;right:-12%;bottom:2%}
  .v31-hero-art{height:56vh;min-height:450px}.v31-hero-main{right:18px;top:18px;width:81%;height:79%}.v31-hero-detail{left:18px;bottom:17px;width:44%;border-width:7px}.v31-hero-copy{padding:46px 24px 54px}
  .v31-manifesto{width:calc(100% - 48px);padding:70px 0}.v31-manifesto h2{font-size:44px}.v31-floral-manifesto{width:64%;right:-15%;top:-23%}
  .v31-work{padding:68px 24px}.v31-section-head{margin-bottom:38px}.v31-work-grid{gap:34px}.v31-work-grid:before,.v31-work-grid:after{width:39%;opacity:.10}.v31-work-meta{padding-top:15px}
  .v31-services{padding:72px 24px}.v31-services-lead{margin-bottom:30px}
  .v31-studio{padding:70px 24px}.v31-studio-inner{grid-template-columns:1fr;gap:44px}.v31-studio-media-wrap{width:82%;max-width:370px}.v31-floral-studio{width:58%;left:-20%;bottom:-14%}
  .home-studio-feed,.home-reviews{padding:68px 22px}
  .v31-cta{padding:70px 24px}.v31-cta h2{font-size:48px}.v31-floral-cta{width:46%;left:-10%;bottom:-17%}
  .footer-lead{min-height:235px;padding-block:30px}.footer-lead a{font-size:43px}.footer-grid{padding-top:50px}
}
@media(prefers-reduced-motion:reduce){
  .home-v31 [data-parallax],.home-v31 [data-botanical-shift],.home-v31 .v31-work-grid:before,.home-v31 .v31-work-grid:after{transform:none!important}
}

/* 0.15.6 stagger is deliberately subtle: the page should feel composed, not animated. */
html.motion-ready .home-v31 .media-reveal:after{transition-delay:var(--delay,0ms)}
html.motion-ready .home-v31 .media-reveal>img,html.motion-ready .home-v31 .media-reveal>video{transition-delay:var(--delay,0ms)}

/* =========================================================
   0.15.7 — Motion Polish
   Soft slide veil + restrained editorial media entrances.
   Motion must support the photographs, never compete with them.
   ========================================================= */

/* Page change: a narrow warm veil crosses the composition while the old page
   gently softens. It never turns into a full-screen cinematic curtain. */
.page-curtain{
  inset:auto;
  top:0;
  bottom:0;
  left:100%;
  width:clamp(170px,26vw,390px);
  height:100dvh;
  background:transparent;
  transform:translate3d(0,0,0);
  transition:transform .50s cubic-bezier(.66,0,.22,1);
  overflow:visible;
  will-change:transform;
}
.page-curtain::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  background:rgba(242,240,234,.18);
  opacity:0;
  transition:opacity .26s ease;
  pointer-events:none;
}
.page-curtain::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  height:auto;
  background:linear-gradient(90deg,rgba(249,244,240,.96) 0%,rgba(246,232,229,.94) 54%,rgba(251,248,244,.98) 100%);
  box-shadow:inset 1px 0 rgba(234,143,140,.42),-18px 0 46px rgba(48,36,29,.045),18px 0 54px rgba(48,36,29,.055);
  opacity:1;
}
body.page-leaving .page-curtain{transform:translate3d(-190%,0,0)}
body.page-leaving .page-curtain::before{opacity:1}
body.page-entering .page-curtain{transform:translate3d(-190%,0,0);transition:none}
body.page-entering .page-curtain::before{opacity:1;transition:none}
body.page-entering.page-entered .page-curtain{transform:translate3d(-470%,0,0);transition:transform .42s cubic-bezier(.66,0,.22,1)}
body.page-entering.page-entered .page-curtain::before{opacity:0;transition:opacity .34s ease}

/* Media motion vocabulary.
   SILK: hero / primary editorial frame — horizontal silk-like wipe.
   VEIL: large supporting frame — classic vertical reveal, softened.
   LIFT: gallery/card photography — no mask, only a quiet lift/fade.
   SOFT: safe default — restrained mask with almost no image movement. */
html.motion-ready [data-media-entrance]{will-change:transform,opacity}
html.motion-ready [data-media-entrance]::after{pointer-events:none}

html.motion-ready [data-media-entrance="silk"]::after{
  background:linear-gradient(90deg,var(--paper-warm,#eee6df) 0%,#f5efea 100%);
  transform:translateX(0);
  transition:transform .78s cubic-bezier(.72,0,.18,1) var(--delay,0ms);
}
html.motion-ready [data-media-entrance="silk"].is-visible::after{transform:translateX(-101%)}
html.motion-ready [data-media-entrance="silk"]>img,
html.motion-ready [data-media-entrance="silk"] picture img,
html.motion-ready [data-media-entrance="silk"]>video{
  opacity:.94;
  transition:opacity .72s ease var(--delay,0ms),transform 1.05s cubic-bezier(.2,.68,.2,1) var(--delay,0ms),filter .5s ease;
}
html.motion-ready [data-media-entrance="silk"].is-visible>img,
html.motion-ready [data-media-entrance="silk"].is-visible picture img,
html.motion-ready [data-media-entrance="silk"].is-visible>video{opacity:1}

html.motion-ready [data-media-entrance="veil"]::after{
  background:linear-gradient(180deg,#f1e9e3 0%,var(--paper-warm,#eee6df) 100%);
  transition-duration:.74s;
  transition-timing-function:cubic-bezier(.68,0,.2,1);
}

html.motion-ready [data-media-entrance="lift"]::after{display:none}
html.motion-ready [data-media-entrance="lift"]{
  transition:opacity .68s ease var(--delay,0ms),transform .78s cubic-bezier(.2,.72,.2,1) var(--delay,0ms);
}
html.motion-ready [data-media-entrance="lift"]:not(.is-visible){opacity:0;transform:translate3d(0,16px,0)}
html.motion-ready [data-media-entrance="lift"].is-visible{opacity:1;transform:translate3d(0,0,0)}
html.motion-ready [data-media-entrance="lift"] img{transition:transform .9s cubic-bezier(.2,.72,.2,1),filter .4s ease}

html.motion-ready [data-media-entrance="soft"]::after{
  background:rgba(232,229,221,.94);
  transition-duration:.66s;
  transition-timing-function:cubic-bezier(.66,0,.22,1);
}

/* Avoid stacking too many movements on small screens. */
@media(max-width:700px){
  .page-curtain{width:34vw;min-width:128px;max-width:190px}
  body.page-leaving .page-curtain{transform:translate3d(-205%,0,0)}
  body.page-entering .page-curtain{transform:translate3d(-205%,0,0)}
  body.page-entering.page-entered .page-curtain{transform:translate3d(-520%,0,0)}
  html.motion-ready [data-media-entrance="lift"]:not(.is-visible){transform:translate3d(0,10px,0)}
}

@media(prefers-reduced-motion:reduce){
  .page-curtain{display:none!important}
  html.motion-ready [data-media-entrance]{opacity:1!important;transform:none!important;transition:none!important}
  html.motion-ready [data-media-entrance]::after{display:none!important}
  html.motion-ready [data-media-entrance] img,
  html.motion-ready [data-media-entrance] video{opacity:1!important;transform:none!important;transition:none!important}
}

/* =========================================================
   0.15.8 — Homepage micro-polish
   Keep hero labels readable above overlapping photography and replace the
   heavy circular hover bubble with a quiet editorial pointer label.
   ========================================================= */

/* The main image tag used to sit in the exact area covered by the overlapping
   Showroom frame. Keep it inside the photograph, but anchor it on the free
   lower-right corner so it never disappears behind the secondary frame. */
.home-v31 .v31-hero-main{z-index:2}
.home-v31 .v31-hero-detail{z-index:4}
.home-v31 .v31-hero-art>.v31-hero-note{z-index:7}
.home-v31 .v31-image-tag{
  left:auto;
  right:18px;
  bottom:18px;
  z-index:6;
  max-width:calc(100% - 36px);
  padding:9px 12px 8px;
  background:rgba(251,248,244,.88);
  border:1px solid rgba(23,20,17,.07);
  border-left:2px solid rgba(232,143,140,.72);
  box-shadow:0 9px 25px rgba(34,25,20,.07);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:12px;
  line-height:1.25;
  letter-spacing:.015em;
  white-space:normal;
}

/* Area note should read like an editorial caption, not another floating card. */
.home-v31 .v31-hero-note{
  min-width:0;
  padding:12px 15px 11px;
  background:rgba(251,248,244,.84);
  border-left:2px solid rgba(232,143,140,.82);
  box-shadow:0 10px 26px rgba(34,25,20,.065);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.home-v31 .v31-hero-note strong{font-size:20px;margin-bottom:3px}
.home-v31 .v31-hero-note span{font-size:12px;letter-spacing:.01em}

/* Editorial hover label: deliberately not a circle. It follows the pointer
   slightly to the side, so it doesn't cover the photograph the user is viewing. */
.v31-hover-cursor{
  width:auto;
  height:auto;
  min-width:0;
  max-width:180px;
  border-radius:2px;
  padding:8px 11px 8px 12px;
  background:rgba(251,248,244,.90);
  border:1px solid rgba(23,20,17,.08);
  border-left:2px solid rgba(232,143,140,.72);
  box-shadow:0 9px 26px rgba(26,20,16,.09);
  color:var(--ink);
  font-size:11px;
  font-weight:650;
  letter-spacing:.025em;
  line-height:1.1;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transform:translate(18px,-50%) scale(.96);
  transform-origin:left center;
}
.v31-hover-cursor.is-visible{transform:translate(18px,-50%) scale(1)}

/* A tiny directional cue makes the floating label feel intentional without
   turning it into a button. */
.v31-hover-cursor span::after{
  content:"  ↗";
  color:var(--coral);
  font-size:.92em;
}

@media(max-width:900px){
  .home-v31 .v31-image-tag{right:14px;bottom:14px;max-width:62%;font-size:11px}
  .home-v31 .v31-hero-note{right:calc(var(--gutter) + 10px);left:auto}
}
@media(max-width:620px){
  .home-v31 .v31-image-tag{right:10px;bottom:10px;max-width:68%;padding:7px 9px 7px;font-size:10px}
}

/* =========================================================
   0.15.9 — FINAL ART-DIRECTION PASS
   Editorial restraint, stronger image hierarchy, unified rhythm.
   This block intentionally overrides the iterative 0.15.x experiments.
   ========================================================= */
.home-v31{
  --v31-max:1640px;
  --v31-section-y:clamp(92px,7.2vw,132px);
  --v31-section-y-tight:clamp(76px,6vw,108px);
  --v31-shadow:0 18px 48px rgba(42,30,22,.075);
  --v31-shadow-strong:0 26px 70px rgba(42,30,22,.105);
  overflow:hidden;
}
.home-v31 .section-label{font-size:12px;letter-spacing:.17em;margin-bottom:18px}
.home-v31 h1,.home-v31 h2,.home-v31 h3{text-wrap:balance}
.home-v31 p{orphans:3;widows:3}

/* HERO — image-led, calm, generous, but not empty. */
.home-v31 .v31-hero{padding-top:clamp(28px,3.2vw,52px);background:linear-gradient(135deg,#fbf8f4 0%,#f7f3ee 66%,#f0dfda 100%)}
.home-v31 .v31-hero-shell{
  width:min(calc(100% - (var(--gutter) * 2)),var(--v31-max));
  grid-template-columns:minmax(430px,.76fr) minmax(650px,1.24fr);
  gap:clamp(62px,6vw,112px);
  min-height:clamp(700px,84vh,850px);
  padding-bottom:clamp(52px,5vw,80px);
}
.home-v31 .v31-hero-copy{max-width:660px;padding-top:10px}
.home-v31 .v31-hero h1{font-size:clamp(60px,4.65vw,82px);line-height:.975;letter-spacing:-.035em;margin-bottom:26px}
.home-v31 .v31-hero-intro{font-size:17px;line-height:1.72;max-width:560px;margin-bottom:30px}
.home-v31 .v31-hero-art{height:clamp(590px,68vh,690px);min-height:0}
.home-v31 .v31-hero-main{width:min(80%,700px);height:90%;right:0;top:1%;box-shadow:var(--v31-shadow-strong)}
.home-v31 .v31-hero-detail{width:43%;max-width:350px;left:-1%;bottom:1%;border-width:8px;box-shadow:var(--v31-shadow)}
.home-v31 .v31-hero-note{left:4%;top:12%;padding:11px 14px 10px;background:rgba(251,248,244,.80);box-shadow:0 8px 22px rgba(34,25,20,.055)}
.home-v31 .v31-hero-note strong{font-size:19px}
.home-v31 .v31-image-tag{right:16px;bottom:16px;font-size:11px;padding:8px 10px;background:rgba(251,248,244,.84);box-shadow:none}
.home-v31 .v31-scope{min-height:62px;gap:clamp(20px,2.6vw,42px);font-size:13px;color:#635d56}
.home-v31 .v31-scope i{width:3px;height:3px}

/* Botanical illustration behaves like atmosphere, not decoration pasted beside a card. */
.home-v31 .v31-floral{opacity:.115;mix-blend-mode:multiply}
.home-v31 .v31-floral-hero-a{width:54%;left:-17%;top:2%}
.home-v31 .v31-floral-hero-b{width:30%;right:-9%;bottom:-2%}

/* MANIFESTO — one editorial spread: headline and photography carry equal authority. */
.home-v31 .v31-manifesto{
  width:min(calc(100% - (var(--gutter) * 2)),var(--v31-max));
  padding:var(--v31-section-y) 0;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.72fr);
  gap:clamp(72px,6.5vw,120px);
  align-items:center;
}
.home-v31 .v31-manifesto h2{font-size:clamp(48px,3.85vw,70px);line-height:1.015;max-width:820px}
.home-v31 .v31-manifesto-side{display:flex;flex-direction:column;align-items:flex-start}
.home-v31 .v31-manifesto-side>p{font-size:17px;line-height:1.72;max-width:500px;margin:0 0 26px}
.home-v31 .v31-botanical-frame--manifesto{width:min(100%,560px);margin:0 0 24px}
.home-v31 .v31-manifesto-thumb{width:100%;max-width:none;aspect-ratio:1.48/1;margin:0;box-shadow:var(--v31-shadow)}
.home-v31 .v31-floral-manifesto{width:72%;right:-27%;top:-30%;opacity:.10}

/* SELECTED WORK — asymmetry with a measurable grid, not floating fragments. */
.home-v31 .v31-work{padding:var(--v31-section-y-tight) var(--gutter) var(--v31-section-y);background:#f8f5f0}
.home-v31 .v31-section-head{width:min(100%,var(--v31-max));margin-bottom:clamp(44px,4vw,64px);align-items:end}
.home-v31 .v31-section-head h2{font-size:clamp(46px,3.7vw,66px);line-height:1.015}
.home-v31 .v31-work-grid{
  width:min(100%,var(--v31-max));
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(20px,2vw,34px);
  row-gap:clamp(48px,4vw,66px);
  align-items:start;
}
.home-v31 .v31-work-card--large{grid-column:1 / span 7;padding:0}
.home-v31 .v31-work-card--small{grid-column:9 / span 4;margin-top:clamp(76px,6vw,102px)}
.home-v31 .v31-work-card--wide{grid-column:4 / span 7;width:auto;margin:0;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(180px,.48fr);gap:28px;align-items:end}
.home-v31 .v31-work-card--large .v31-work-media{aspect-ratio:1.28/1;max-height:none}
.home-v31 .v31-work-card--small .v31-work-media{aspect-ratio:.88/1;max-height:none}
.home-v31 .v31-work-card--wide .v31-work-media{aspect-ratio:1.52/1;max-height:none}
.home-v31 .v31-work-meta{padding-top:16px;gap:4px}
.home-v31 .v31-work-meta span{font-size:12px;letter-spacing:.025em}
.home-v31 .v31-work-meta strong{font-size:clamp(24px,1.9vw,34px);line-height:1.06}
.home-v31 .v31-work-card--wide .v31-work-meta{margin:0 0 10px}
.home-v31 .v31-work-media{box-shadow:none}
.home-v31 .v31-work-grid:before,.home-v31 .v31-work-grid:after{opacity:.075;width:31%}

/* SERVICES — keep the dark chapter, tighten the composition and scale the image up. */
.home-v31 .v31-services{padding:var(--v31-section-y) var(--gutter)}
.home-v31 .v31-services-inner{width:min(100%,var(--v31-max));grid-template-columns:minmax(0,1.02fr) minmax(470px,.62fr);gap:clamp(78px,7vw,122px);align-items:center}
.home-v31 .v31-services-copy h2{font-size:clamp(48px,3.8vw,68px);max-width:760px;margin-bottom:24px}
.home-v31 .v31-services-lead{font-size:16px;line-height:1.7;max-width:610px;margin-bottom:34px}
.home-v31 .v31-service-row{padding:20px 0}
.home-v31 .v31-service-row strong{font-size:clamp(25px,1.8vw,32px)}
.home-v31 .v31-service-row span{font-size:13px;line-height:1.55}
.home-v31 .v31-services-stage{top:96px;aspect-ratio:.88/1;max-height:620px;box-shadow:0 24px 64px rgba(0,0,0,.19)}

/* STUDIO — make it read like a magazine spread, not two unrelated boxes. */
.home-v31 .v31-studio{padding:var(--v31-section-y) var(--gutter)}
.home-v31 .v31-studio-inner{width:min(100%,var(--v31-max));grid-template-columns:minmax(410px,.76fr) minmax(0,1.04fr);gap:clamp(78px,7vw,126px);align-items:center}
.home-v31 .v31-studio-media-wrap{width:min(100%,560px);margin-inline:0}
.home-v31 .v31-studio-media{width:100%;aspect-ratio:.80/1;box-shadow:var(--v31-shadow)}
.home-v31 .v31-floral-studio{width:63%;left:-25%;bottom:-17%;opacity:.095!important}
.home-v31 .v31-studio-copy{max-width:760px}
.home-v31 .v31-studio-copy h2{font-size:clamp(48px,3.85vw,70px);line-height:1.02;margin-bottom:24px}
.home-v31 .v31-studio-copy>p{font-size:17px;line-height:1.72;max-width:660px}
.home-v31 .v31-process-words{margin-top:32px;margin-bottom:28px}

/* JOURNAL + REVIEWS — quiet proof, larger images, smaller labels. */
.home-v31 .home-studio-feed,.home-v31 .home-reviews{padding:var(--v31-section-y-tight) var(--gutter)}
.home-v31 .home-proof-head{width:min(100%,var(--v31-max));margin-bottom:38px}
.home-v31 .home-proof-head h2{font-size:clamp(40px,3.2vw,56px);max-width:760px}
.home-v31 .studio-feed-grid{width:min(100%,var(--v31-max));grid-template-columns:1.12fr .94fr .94fr;gap:14px}
.home-v31 .studio-feed-card,.home-v31 .studio-feed-card.is-featured{height:clamp(330px,26vw,470px)}
.home-v31 .studio-feed-card p{font-size:12px;line-height:1.45;margin-top:10px;color:var(--muted)}
.home-v31 .reviews-grid{width:min(100%,var(--v31-max))}
.home-v31 .review-card{min-height:285px}

/* FINAL CTA — a strong final spread before the dark footer. */
.home-v31 .v31-cta{padding:var(--v31-section-y) var(--gutter);background:#fbf6f1}
.home-v31 .v31-cta-inner{width:min(100%,var(--v31-max));grid-template-columns:minmax(0,.86fr) minmax(520px,1fr);gap:clamp(72px,7vw,124px);align-items:center}
.home-v31 .v31-cta h2{font-size:clamp(54px,4.25vw,76px);line-height:1;max-width:720px}
.home-v31 .v31-cta-side{max-width:none;width:100%}
.home-v31 .v31-botanical-frame--cta{width:100%;max-width:none}
.home-v31 .v31-cta-thumb{width:100%;max-width:none;aspect-ratio:1.58/1;margin:0 0 22px;box-shadow:var(--v31-shadow)}
.home-v31 .v31-cta-side>p{font-size:16px;line-height:1.68;max-width:620px;margin-bottom:24px}
.home-v31 .v31-floral-cta{width:50%;left:-18%;bottom:-25%;opacity:.09}

/* FOOTER — deliberate ending, not a second hero. */
.public-footer .footer-lead{min-height:250px;padding-block:34px}
.public-footer .footer-lead p{font-size:12px;letter-spacing:.14em}
.public-footer .footer-lead a{font-size:clamp(46px,4.7vw,74px);max-width:1080px}
.public-footer .footer-grid{padding:54px 0 46px;gap:64px}
.public-footer .footer-brand img{width:190px;margin-bottom:18px}
.public-footer .footer-brand p{font-size:14px;line-height:1.62;max-width:430px}
.public-footer .footer-grid nav a{font-size:21px}
.public-footer .footer-contact>a{font-size:clamp(20px,1.8vw,29px)}

/* Motion should feel expensive because it is restrained. */
html.motion-ready .home-v31 .reveal-up:not(.is-visible){transform:translateY(14px)}
html.motion-ready .home-v31 .reveal-up{transition-duration:.66s}
html.motion-ready .home-v31 [data-media-entrance="lift"]:not(.is-visible){transform:translate3d(0,10px,0)}
.home-v31 .scroll-progress{height:1px}

/* A lighter page veil: perceptible, never theatrical. */
.page-curtain{width:clamp(145px,21vw,310px);transition-duration:.44s}
.page-curtain::before{background:rgba(242,240,234,.10)}
.page-curtain::after{box-shadow:inset 1px 0 rgba(234,143,140,.32),-12px 0 36px rgba(48,36,29,.03),12px 0 42px rgba(48,36,29,.04)}
body.page-leaving .page-curtain{transform:translate3d(-205%,0,0)}
body.page-entering .page-curtain{transform:translate3d(-205%,0,0)}
body.page-entering.page-entered .page-curtain{transform:translate3d(-525%,0,0);transition-duration:.38s}

/* TABLET — do not merely shrink desktop; recompose it. */
@media(max-width:1180px){
  .home-v31 .v31-hero-shell{grid-template-columns:minmax(360px,.82fr) minmax(500px,1.18fr);gap:48px;min-height:680px}
  .home-v31 .v31-hero-art{height:580px}
  .home-v31 .v31-manifesto{grid-template-columns:1fr minmax(360px,.72fr);gap:56px}
  .home-v31 .v31-work-card--large{grid-column:1 / span 8}
  .home-v31 .v31-work-card--small{grid-column:9 / span 4;margin-top:70px}
  .home-v31 .v31-work-card--wide{grid-column:3 / span 8}
  .home-v31 .v31-services-inner{grid-template-columns:1fr minmax(400px,.62fr);gap:58px}
  .home-v31 .v31-studio-inner{grid-template-columns:minmax(340px,.72fr) 1fr;gap:58px}
  .home-v31 .v31-cta-inner{grid-template-columns:.82fr 1fr;gap:58px}
}

@media(max-width:900px){
  .home-v31 .v31-hero{padding-top:0}
  .home-v31 .v31-hero-shell{grid-template-columns:1fr;min-height:0;gap:0;width:100%;padding-bottom:0}
  .home-v31 .v31-hero-copy{padding:64px var(--gutter) 50px;max-width:760px}
  .home-v31 .v31-hero h1{font-size:clamp(52px,8vw,70px);max-width:660px}
  .home-v31 .v31-hero-art{height:64vh;min-height:520px;margin:0 var(--gutter) 54px}
  .home-v31 .v31-hero-main{width:79%;height:86%}
  .home-v31 .v31-hero-detail{width:40%;max-width:300px}
  .home-v31 .v31-scope{overflow-x:auto;justify-content:flex-start;padding-inline:var(--gutter);scrollbar-width:none}
  .home-v31 .v31-scope::-webkit-scrollbar{display:none}
  .home-v31 .v31-manifesto{grid-template-columns:1fr;gap:42px;padding:82px 0}
  .home-v31 .v31-manifesto-side{max-width:650px}
  .home-v31 .v31-botanical-frame--manifesto{width:min(100%,620px)}
  .home-v31 .v31-work-grid{grid-template-columns:1fr 1fr;gap:38px 24px}
  .home-v31 .v31-work-card--large,.home-v31 .v31-work-card--small,.home-v31 .v31-work-card--wide{grid-column:auto;margin:0;padding:0;width:auto;display:block}
  .home-v31 .v31-work-card--wide{grid-column:1/-1;width:72%;justify-self:center}
  .home-v31 .v31-services-inner{grid-template-columns:1fr;gap:48px}
  .home-v31 .v31-services-stage{position:relative;top:auto;width:min(100%,560px);max-height:none;justify-self:end}
  .home-v31 .v31-studio-inner{grid-template-columns:minmax(280px,.72fr) 1fr;gap:44px}
  .home-v31 .v31-studio-media-wrap{max-width:430px}
  .home-v31 .studio-feed-grid{grid-template-columns:1fr 1fr}
  .home-v31 .studio-feed-card.is-featured{grid-column:1/-1}
  .home-v31 .v31-cta-inner{grid-template-columns:1fr;gap:42px}
  .home-v31 .v31-cta-side{max-width:720px;justify-self:start}
}

@media(max-width:620px){
  .home-v31 .section-label{font-size:11px;letter-spacing:.15em}
  .home-v31 .v31-hero-copy{padding:48px 22px 42px}
  .home-v31 .v31-hero h1{font-size:clamp(46px,12vw,58px);line-height:.99}
  .home-v31 .v31-hero-intro{font-size:16px;line-height:1.65}
  .home-v31 .v31-hero-art{height:55vh;min-height:440px;margin:0 22px 44px}
  .home-v31 .v31-hero-main{right:0;top:8px;width:82%;height:81%}
  .home-v31 .v31-hero-detail{left:0;bottom:6px;width:45%;border-width:6px}
  .home-v31 .v31-hero-note{left:4%;right:auto;top:10%;max-width:138px}
  .home-v31 .v31-image-tag{font-size:10px;max-width:56%}
  .home-v31 .v31-manifesto{width:calc(100% - 44px);padding:66px 0}
  .home-v31 .v31-manifesto h2{font-size:clamp(40px,10.6vw,48px)}
  .home-v31 .v31-work{padding:64px 22px 72px}
  .home-v31 .v31-section-head{display:block;margin-bottom:34px}
  .home-v31 .v31-section-head .inline-link{margin-top:20px}
  .home-v31 .v31-work-grid{grid-template-columns:1fr;gap:34px}
  .home-v31 .v31-work-card--wide{grid-column:auto;width:100%}
  .home-v31 .v31-services{padding:68px 22px}
  .home-v31 .v31-services-copy h2{font-size:42px}
  .home-v31 .v31-services-stage{width:100%;aspect-ratio:1/1.06}
  .home-v31 .v31-studio{padding:68px 22px}
  .home-v31 .v31-studio-inner{grid-template-columns:1fr;gap:38px}
  .home-v31 .v31-studio-media-wrap{width:84%;max-width:390px}
  .home-v31 .v31-studio-copy h2{font-size:43px}
  .home-v31 .home-studio-feed,.home-v31 .home-reviews{padding:64px 22px}
  .home-v31 .home-proof-head{display:block;margin-bottom:30px}
  .home-v31 .home-proof-head .inline-link{margin-top:18px}
  .home-v31 .studio-feed-grid{grid-template-columns:1fr;gap:14px}
  .home-v31 .studio-feed-card,.home-v31 .studio-feed-card.is-featured{grid-column:auto;height:auto;aspect-ratio:1.06/1}
  .home-v31 .v31-cta{padding:68px 22px 76px}
  .home-v31 .v31-cta h2{font-size:46px}
  .public-footer .footer-lead{min-height:220px}
  .public-footer .footer-lead a{font-size:41px}
  .page-curtain{width:32vw;min-width:115px;max-width:160px}
}


/* =========================================================
   0.15.9 — Final art-direction pass
   One editorial system, stronger photographic hierarchy, calmer spacing.
   No cardification, no decorative UI for its own sake.
   ========================================================= */

/* Core cadence: fewer accidental gaps and a slightly more confident scale. */
.home-v31{
  --v31-max:1640px;
  --v31-reading:720px;
  --v31-section-y:clamp(88px,7.4vw,126px);
  --v31-shadow:0 30px 80px rgba(37,27,21,.10);
}
.home-v31 .section-label{font-size:13px;letter-spacing:.155em;margin-bottom:18px}
.home-v31 h1,.home-v31 h2,.home-v31 h3{text-wrap:balance}

/* Header reads like a quiet masthead instead of application chrome. */
@media(min-width:901px){
  .public-header{height:84px;grid-template-columns:230px 1fr 230px}
  .public-header.is-compact{height:72px}
  .public-brand{width:158px;transition:width .25s ease}
  .public-header.is-compact .public-brand{width:146px}
  .public-nav{gap:clamp(26px,2.8vw,48px)}
  .public-nav a,.public-contact-link{font-size:13px;letter-spacing:.095em}
}

/* Hero: photography leads, copy supports it. Keep the old asymmetry, make it deliberate. */
.v31-hero{padding-top:clamp(32px,4vw,62px)}
.v31-hero-shell{
  grid-template-columns:minmax(430px,.78fr) minmax(660px,1.22fr);
  gap:clamp(54px,5.7vw,98px);
  min-height:calc(88vh - var(--header-h));
  padding-bottom:clamp(54px,5.7vw,82px);
}
.v31-hero-copy{max-width:690px}
.v31-hero h1{font-size:clamp(62px,5.15vw,88px);line-height:.945;letter-spacing:-.048em;margin-bottom:27px}
.v31-hero-intro{font-size:clamp(17px,1.12vw,19px);line-height:1.62;max-width:570px;margin-bottom:29px}
.v31-hero-art{height:min(700px,72vh);min-height:575px}
.v31-hero-main{width:min(82%,720px);height:min(91%,640px);box-shadow:var(--v31-shadow)}
.v31-hero-main img{object-position:center 48%}
.v31-hero-detail{width:40%;max-width:330px;left:-1.5%;bottom:2%;border-width:8px;box-shadow:0 22px 54px rgba(42,30,22,.12)}
.home-v31 .v31-hero-note{left:3%;top:10%;padding:11px 14px 10px;background:rgba(251,248,244,.82)}
.home-v31 .v31-image-tag{right:16px;bottom:16px;padding:8px 11px 7px;background:rgba(251,248,244,.84)}
.v31-scope{min-height:64px;gap:clamp(18px,2.7vw,42px);font-size:13px;letter-spacing:.015em}

/* Botanicals are barely-there depth, always tied to a photograph. */
.home-v31 .v31-floral{opacity:.115;mix-blend-mode:multiply}
.home-v31 .v31-floral-hero-a{width:48%;left:-15%;top:7%}
.home-v31 .v31-floral-hero-b{width:27%;right:-8%;bottom:5%}
.home-v31 .v31-floral-manifesto{width:69%;right:-24%;top:-28%;opacity:.10}
.home-v31 .v31-floral-studio{width:58%;left:-22%;bottom:-13%;opacity:.10!important}
.home-v31 .v31-floral-cta{width:52%;left:-19%;bottom:-25%;opacity:.105}

/* Manifesto becomes a composed spread: stronger supporting image, less empty runway. */
.v31-manifesto{
  padding:var(--v31-section-y) 0;
  grid-template-columns:minmax(0,1.08fr) minmax(440px,.72fr);
  gap:clamp(62px,6.6vw,112px);
  align-items:center;
}
.v31-manifesto h2{font-size:clamp(56px,5vw,82px);line-height:.985;max-width:900px}
.v31-manifesto-side>p{font-size:18px;line-height:1.65;max-width:500px;margin-bottom:24px}
.v31-botanical-frame--manifesto{width:min(100%,600px);margin-bottom:24px}
.v31-manifesto-thumb{aspect-ratio:1.58/1;box-shadow:0 20px 52px rgba(44,32,26,.075)}

/* Selected work: a disciplined 12-column magazine composition. */
.v31-work{padding:var(--v31-section-y) var(--gutter)}
.v31-section-head{margin-bottom:clamp(48px,4.6vw,72px)}
.v31-section-head h2{font-size:clamp(50px,4.35vw,74px);line-height:.98}
.v31-work-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(20px,2vw,34px);
  row-gap:clamp(30px,3vw,48px);
  align-items:start;
}
.v31-work-card--large{grid-column:1 / 8;padding-right:0}
.v31-work-card--small{grid-column:9 / 13;margin-top:clamp(78px,7vw,116px)}
.v31-work-card--wide{grid-column:4 / 11;width:auto;margin:clamp(2px,1vw,14px) 0 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.55fr);gap:30px;align-items:end}
.v31-work-card--large .v31-work-media{aspect-ratio:1.22/1;max-height:640px}
.v31-work-card--small .v31-work-media{aspect-ratio:.92/1;max-height:560px}
.v31-work-card--wide .v31-work-media{aspect-ratio:1.6/1;max-height:470px}
.v31-work-meta{padding-top:16px;gap:4px}
.v31-work-meta span{font-size:12px;letter-spacing:.035em}
.v31-work-meta strong{font-size:clamp(25px,2vw,34px);line-height:1.04}
.v31-work-grid:before,.v31-work-grid:after{opacity:.075;width:30%}
.v31-work-grid:before{left:-8%;top:1%}
.v31-work-grid:after{right:-8%;bottom:10%}

/* Dark services stay the visual anchor. Refine rather than redesign. */
.v31-services{padding:clamp(92px,7.6vw,126px) var(--gutter)}
.v31-services-inner{grid-template-columns:minmax(0,1fr) minmax(430px,.62fr);gap:clamp(64px,6.6vw,108px)}
.v31-services-copy h2{font-size:clamp(52px,4.35vw,72px);max-width:790px}
.v31-services-lead{font-size:17px;max-width:620px;margin-bottom:34px}
.v31-service-row{padding:20px 0}
.v31-service-row strong{font-size:clamp(26px,2.15vw,35px)}
.v31-service-row span{font-size:14px}
.v31-services-stage{max-height:620px;box-shadow:0 30px 74px rgba(0,0,0,.21)}

/* Studio reads as one editorial spread. */
.v31-studio{padding:var(--v31-section-y) var(--gutter)}
.v31-studio-inner{grid-template-columns:minmax(380px,.64fr) minmax(0,1fr);gap:clamp(64px,6.8vw,112px)}
.v31-studio-media-wrap{width:min(100%,560px)}
.v31-studio-copy{max-width:780px}
.v31-studio-copy h2{font-size:clamp(50px,4.4vw,72px);line-height:1.01;max-width:700px}
.v31-studio-copy>p:not(.section-label){max-width:650px;font-size:17px;line-height:1.68}
.v31-process-words{margin-top:30px;margin-bottom:26px}

/* Journal: stronger image rhythm, no generic equal-card feeling. */
.home-studio-feed{padding:var(--v31-section-y) var(--gutter)}
.home-proof-head{margin-bottom:clamp(38px,4vw,58px);align-items:end}
.home-proof-head h2{max-width:900px}
.studio-feed-grid{display:grid;grid-template-columns:1.18fr .91fr .91fr;gap:clamp(14px,1.5vw,24px);align-items:start}
.studio-feed-card{margin:0}
.studio-feed-card img{width:100%;aspect-ratio:1.08/1;object-fit:cover}
.studio-feed-card.is-featured img{aspect-ratio:.93/1}
.studio-feed-card:nth-child(2){margin-top:clamp(34px,3.6vw,58px)}
.studio-feed-card:nth-child(3){margin-top:clamp(10px,1.4vw,24px)}
.studio-feed-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}

/* Reviews remain calm proof, not another hero. */
.home-reviews{padding:var(--v31-section-y) var(--gutter)}
.review-card{padding:clamp(24px,2.2vw,34px)}

/* Closing CTA: bigger photographic finish and less 'form block' feeling. */
.v31-cta{padding:clamp(92px,7.8vw,132px) var(--gutter);position:relative}
.v31-cta-inner{grid-template-columns:minmax(0,.95fr) minmax(520px,.85fr);gap:clamp(64px,6.5vw,108px);align-items:center}
.v31-cta h2{font-size:clamp(56px,4.8vw,82px);line-height:.98;max-width:760px}
.v31-cta-side{max-width:680px}
.v31-cta-thumb{aspect-ratio:1.62/1;box-shadow:0 24px 62px rgba(42,30,22,.09)}
.v31-cta-side>p{font-size:17px;line-height:1.62;max-width:560px}

/* Footer: decisive, compact close. */
.footer-lead{min-height:255px;padding-block:34px}
.footer-lead p{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.footer-lead a{font-size:clamp(48px,5vw,78px);line-height:.98;max-width:1080px}
.footer-grid{padding-top:52px;padding-bottom:44px}

/* Motion: prestigious = nearly invisible. Reduce travel, keep timing smooth. */
html.motion-ready .home-v31 .reveal-up:not(.is-visible){transform:translateY(14px)}
.home-v31 .reveal-up{transition-duration:.72s;transition-timing-function:cubic-bezier(.2,.72,.2,1)}
.home-v31 .media-reveal:after{transition-duration:.72s}
.home-v31 [data-parallax]{--parallax-scale:1.012}
.home-v31 .v31-work-card:hover [data-parallax]{--parallax-scale:1.026}
.home-v31 .v31-hero-main:hover [data-parallax]{--parallax-scale:1.022}

/* Soft slide veil: thinner and quieter than 0.15.7. */
.page-curtain{width:clamp(130px,18vw,260px);transition-duration:.42s}
.page-curtain::before{background:rgba(242,240,234,.08);transition-duration:.20s}
.page-curtain::after{background:linear-gradient(90deg,rgba(249,244,240,.93),rgba(246,232,229,.90) 58%,rgba(251,248,244,.95));box-shadow:inset 1px 0 rgba(234,143,140,.26),-10px 0 34px rgba(48,36,29,.035),10px 0 38px rgba(48,36,29,.04)}
body.page-leaving .page-curtain{transform:translate3d(-240%,0,0)}
body.page-entering .page-curtain{transform:translate3d(-240%,0,0)}
body.page-entering.page-entered .page-curtain{transform:translate3d(-620%,0,0);transition-duration:.36s}

@media(max-width:1180px){
  .v31-hero-shell{grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr);gap:46px}
  .v31-manifesto{grid-template-columns:1fr minmax(370px,.62fr);gap:50px}
  .v31-services-inner{grid-template-columns:1fr .72fr;gap:54px}
  .v31-studio-inner{grid-template-columns:minmax(340px,.62fr) 1fr;gap:52px}
  .v31-cta-inner{grid-template-columns:1fr minmax(430px,.72fr);gap:52px}
}

@media(max-width:900px){
  .v31-hero-shell{grid-template-columns:1fr;min-height:0;gap:0}
  .v31-hero-copy{padding-top:52px;padding-bottom:56px}
  .v31-hero-art{height:60vh;min-height:500px}
  .v31-manifesto{grid-template-columns:1fr;gap:34px;padding:78px 0}
  .v31-botanical-frame--manifesto{max-width:620px}
  .v31-work-grid{grid-template-columns:1fr;gap:38px}
  .v31-work-card--large,.v31-work-card--small,.v31-work-card--wide{grid-column:auto;width:100%;margin:0;display:block}
  .v31-work-card--small .v31-work-media{aspect-ratio:1.15/1}
  .v31-work-card--wide .v31-work-media{aspect-ratio:1.45/1}
  .v31-services-inner{grid-template-columns:1fr}
  .v31-studio-inner{grid-template-columns:minmax(280px,.72fr) 1fr;gap:44px}
  .studio-feed-grid{grid-template-columns:1fr 1fr;gap:20px}.studio-feed-card.is-featured{grid-row:span 2}.studio-feed-card:nth-child(2),.studio-feed-card:nth-child(3){margin-top:0}
  .v31-cta-inner{grid-template-columns:1fr;gap:34px}.v31-cta-side{max-width:680px}
  .page-curtain{width:clamp(105px,22vw,160px)}
}

@media(max-width:620px){
  .home-v31 .section-label{font-size:12px;margin-bottom:15px}
  .v31-hero-copy{padding:42px 24px 48px}
  .v31-hero h1{font-size:52px;line-height:.96;margin-bottom:23px}
  .v31-hero-intro{font-size:16px;line-height:1.6}
  .v31-hero-art{height:54vh;min-height:430px}
  .v31-hero-main{right:14px;top:14px;width:82%;height:80%}
  .v31-hero-detail{left:14px;bottom:14px;width:43%;border-width:6px}
  .home-v31 .v31-hero-note{top:8%;left:3%;font-size:11px}
  .v31-scope{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-inline:24px}.v31-scope::-webkit-scrollbar{display:none}.v31-scope span{white-space:nowrap}
  .v31-manifesto{width:calc(100% - 48px);padding:68px 0}.v31-manifesto h2{font-size:43px}.v31-manifesto-side>p{font-size:16px}
  .v31-work{padding:66px 24px}.v31-section-head{margin-bottom:34px}.v31-section-head h2{font-size:46px}.v31-work-grid{gap:32px}.v31-work-grid:before,.v31-work-grid:after{opacity:.055}
  .v31-services{padding:70px 24px}.v31-services-copy h2{font-size:45px}.v31-services-lead{font-size:16px}.v31-service-row strong{font-size:29px}
  .v31-studio{padding:68px 24px}.v31-studio-inner{grid-template-columns:1fr;gap:40px}.v31-studio-media-wrap{width:86%;max-width:380px}.v31-studio-copy h2{font-size:46px}
  .home-studio-feed,.home-reviews{padding:66px 22px}.studio-feed-grid{grid-template-columns:1fr}.studio-feed-card.is-featured{grid-row:auto}.studio-feed-card img,.studio-feed-card.is-featured img{aspect-ratio:1.08/1}
  .v31-cta{padding:68px 24px}.v31-cta h2{font-size:48px}.v31-cta-side>p{font-size:16px}
  .footer-lead{min-height:220px}.footer-lead a{font-size:42px}.footer-grid{padding-top:46px}
  .page-curtain{width:112px}
}


/* 0.15.10 — sticky masthead logo hotfix
   The transparent logo asset is 1779×728. Desktop compact mode now
   reduces the mark slightly so the header divider always clears the j descender. */

/* 0.18.3 — portfolio cards keep editorial metadata but drop decorative ordinal numbers. */

/* =========================================================
   0.15.12 — REALIZACJE / DISTINCT PORTFOLIO ARCHIVE
   Purposefully not a homepage clone: typography-first intro,
   catalogue toolbar and gallery/index views.
   ========================================================= */
.portfolio-v1512{--portfolio-max:1680px;overflow:hidden;background:#f8f5f0;color:var(--ink)}
.portfolio-v1512 em{font-weight:400;color:var(--coral)}
.portfolio-v1512 h1,.portfolio-v1512 h2,.portfolio-v1512 h3{text-wrap:balance}

.p1512-intro{background:#11100f;color:#f8f5f0;padding:clamp(88px,8vw,142px) var(--gutter) clamp(44px,4vw,70px);min-height:clamp(470px,58vh,660px);display:flex;flex-direction:column;justify-content:space-between}
.p1512-intro>*{width:min(100%,var(--portfolio-max));margin-left:auto;margin-right:auto}
.p1512-intro-kicker{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:15px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.63)}
.p1512-intro-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(360px,.62fr);gap:clamp(70px,8vw,150px);align-items:end;padding:clamp(64px,7vw,112px) 0 clamp(58px,6vw,90px)}
.p1512-intro h1{font-size:clamp(66px,6.4vw,112px);line-height:.9;letter-spacing:-.047em;margin:0;max-width:1040px}
.p1512-intro-copy{max-width:560px;padding-bottom:5px}
.p1512-intro-copy p{font-size:17px;line-height:1.72;color:rgba(255,255,255,.69);margin:0 0 28px}
.p1512-intro .inline-link{color:#f8f5f0;border-color:rgba(255,255,255,.54)}
.p1512-intro-scope{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);padding-top:17px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;color:rgba(255,255,255,.62);overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.p1512-intro-scope::-webkit-scrollbar{display:none}.p1512-intro-scope i{width:3px;height:3px;border-radius:50%;background:var(--coral);flex:0 0 auto}

.p1512-browser{padding:clamp(86px,7.4vw,130px) var(--gutter) clamp(110px,9vw,168px);background:#f8f5f0}
.p1512-browser>*{width:min(100%,var(--portfolio-max));margin-left:auto;margin-right:auto}
.p1512-browser-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.52fr);gap:clamp(64px,8vw,140px);align-items:end;margin-bottom:clamp(52px,4.8vw,78px)}
.p1512-browser-head .section-label{font-size:11px;letter-spacing:.16em;margin-bottom:17px}
.p1512-browser-head h2{font-size:clamp(46px,4vw,70px);line-height:1.01;letter-spacing:-.025em;margin:0;max-width:980px}
.p1512-browser-head>p{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 7px;max-width:500px}

.p1512-toolbar{display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid rgba(23,20,17,.18);border-bottom:1px solid rgba(23,20,17,.18);min-height:72px;position:relative}
.p1512-category-tabs{display:flex;align-items:center;gap:clamp(20px,2.35vw,38px);overflow-x:auto;scrollbar-width:none;padding:16px 0;min-width:0}.p1512-category-tabs::-webkit-scrollbar{display:none}
.p1512-category-tabs button,.p1512-filter-toggle,.p1512-view-toggle button,.p1512-result-meta button,.p1512-empty button{appearance:none;border:0;background:transparent;color:#746d66;cursor:pointer;font:inherit}
.p1512-category-tabs button{white-space:nowrap;padding:7px 0;font-size:13px;font-weight:650;position:relative}.p1512-category-tabs button:after{content:"";position:absolute;height:1px;left:0;right:0;bottom:0;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .24s ease}.p1512-category-tabs button:hover,.p1512-category-tabs button.is-active{color:var(--ink)}.p1512-category-tabs button.is-active:after{transform:scaleX(1);transform-origin:left}.p1512-category-tabs button span{font-size:9px;vertical-align:top;margin-left:4px;color:#918981;font-weight:500}
.p1512-toolbar-actions{display:flex;align-items:center;gap:20px;flex:0 0 auto}.p1512-filter-toggle{font-size:12px;font-weight:700;letter-spacing:.025em;padding:8px 0}.p1512-filter-toggle span{display:inline-block;margin-left:7px;font-size:14px;transition:transform .2s ease}.p1512-filter-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.p1512-view-toggle{display:flex;align-items:center;border-left:1px solid rgba(23,20,17,.14);padding-left:20px;gap:13px}.p1512-view-toggle button{font-size:11px;padding:7px 0;color:#928981}.p1512-view-toggle button.is-active{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

.p1512-advanced-filters{padding:22px 0;border-bottom:1px solid rgba(23,20,17,.13)}.p1512-advanced-filters[hidden]{display:none}.p1512-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px;max-width:900px}.p1512-advanced-grid label{display:grid;gap:7px}.p1512-advanced-grid label>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#746c64;font-weight:700}.p1512-advanced-grid select{appearance:none;border:0;border-bottom:1px solid rgba(23,20,17,.34);border-radius:0;background-color:transparent;padding:8px 28px 8px 0;color:var(--ink);font-size:13px;background-image:linear-gradient(45deg,transparent 50%,#6e665f 50%),linear-gradient(135deg,#6e665f 50%,transparent 50%);background-position:calc(100% - 8px) 52%,calc(100% - 4px) 52%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.p1512-result-meta{display:flex;justify-content:space-between;align-items:center;padding:17px 0 30px;font-size:11px;color:#837a72}.p1512-result-meta button{font-size:11px;color:var(--ink);border-bottom:1px solid currentColor;padding:0 0 2px}

.p1512-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(42px,4vw,72px) clamp(14px,1.4vw,24px);align-items:start}
.p1512-card{min-width:0}.p1512-card-media{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#ddd4cc}.p1512-card-media picture,.p1512-card-media img{width:100%;height:100%;display:block}.p1512-card-media img{object-fit:cover;transform:scale(1.001);transition:transform .7s cubic-bezier(.2,.65,.2,1),filter .35s ease}.p1512-card:hover .p1512-card-media img{transform:scale(1.025)}
.p1512-card:nth-child(3n+2) .p1512-card-media{aspect-ratio:1/1}.p1512-card:nth-child(3n+3) .p1512-card-media{aspect-ratio:5/6}
.p1512-featured{position:absolute;top:12px;left:12px;padding:7px 9px;background:rgba(248,245,240,.9);font-size:9px;letter-spacing:.12em;text-transform:uppercase;border-left:2px solid var(--coral);backdrop-filter:blur(8px)}
.p1512-card-caption{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.62fr) 24px;gap:16px;align-items:start;padding-top:14px;border-top:1px solid rgba(23,20,17,.12);margin-top:11px}.p1512-card-title>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.115em;color:#80776f;margin-bottom:5px;font-weight:700}.p1512-card-title h3{font-size:clamp(24px,1.75vw,31px);line-height:1.04;margin:0}.p1512-card-title h3 a{transition:color .2s ease}.p1512-card-title h3 a:hover{color:#8d5c59}.p1512-card-place{font-size:11px;line-height:1.45;color:#7c746c;padding-top:3px}.p1512-card-arrow{font-size:17px;line-height:1;color:var(--ink);justify-self:end;transition:transform .2s ease}.p1512-card:hover .p1512-card-arrow{transform:translate(3px,-3px)}

/* When a filter leaves only one/two projects, the catalogue should still look deliberate. */
.p1512-project-grid.is-single-result{grid-template-columns:minmax(0,1fr)}.p1512-project-grid.is-single-result .p1512-card:not([hidden]){width:min(100%,1380px);margin-inline:auto}.p1512-project-grid.is-single-result .p1512-card:not([hidden]) .p1512-card-media{aspect-ratio:1.62/1}.p1512-project-grid.is-two-results{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1380px;margin-inline:auto}

/* Index view: same data, radically different reading mode. */
.p1512-browser[data-portfolio-view="index"] .p1512-project-grid{display:block}
.p1512-browser[data-portfolio-view="index"] .p1512-card{border-top:1px solid rgba(23,20,17,.18);padding:0}.p1512-browser[data-portfolio-view="index"] .p1512-card:last-child{border-bottom:1px solid rgba(23,20,17,.18)}
.p1512-browser[data-portfolio-view="index"] .p1512-card-media{display:none}.p1512-browser[data-portfolio-view="index"] .p1512-card-caption{grid-template-columns:minmax(260px,1.4fr) minmax(220px,.72fr) 30px;gap:24px;align-items:center;border:0;margin:0;padding:24px 0}.p1512-browser[data-portfolio-view="index"] .p1512-card-title{display:grid;grid-template-columns:minmax(170px,.55fr) 1fr;gap:22px;align-items:center}.p1512-browser[data-portfolio-view="index"] .p1512-card-title>span{margin:0}.p1512-browser[data-portfolio-view="index"] .p1512-card-title h3{font-size:clamp(28px,2vw,36px)}.p1512-browser[data-portfolio-view="index"] .p1512-card-place{font-size:12px}

.p1512-empty{text-align:center;padding:100px 24px 34px}.p1512-empty>span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#81786f}.p1512-empty h3{font-size:clamp(36px,3.6vw,58px);line-height:1.02;max-width:760px;margin:16px auto 28px}.p1512-empty button{font-size:12px;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:3px}

.p1512-next{display:grid;grid-template-columns:1fr 1fr;background:#ede5de;border-top:1px solid rgba(23,20,17,.12)}.p1512-next-item{padding:clamp(46px,4.5vw,76px) var(--gutter);display:grid;gap:14px}.p1512-next-item:first-child{border-right:1px solid rgba(23,20,17,.13)}.p1512-next-item span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7d746c}.p1512-next-item a{font-family:var(--serif);font-size:clamp(32px,2.7vw,48px);line-height:1.05;display:flex;align-items:center;justify-content:space-between;gap:30px}.p1512-next-item b{font-family:var(--sans);font-size:22px;font-weight:400;transition:transform .22s ease}.p1512-next-item a:hover b{transform:translate(4px,-4px)}

@media(max-width:1120px){
  .p1512-intro-grid{grid-template-columns:1fr minmax(300px,.55fr);gap:52px}.p1512-browser-head{grid-template-columns:1fr minmax(300px,.55fr);gap:52px}
  .p1512-toolbar{align-items:flex-start;flex-direction:column;gap:0;padding-bottom:13px}.p1512-toolbar-actions{width:100%;justify-content:space-between;border-top:1px solid rgba(23,20,17,.1);padding-top:10px}
  .p1512-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p1512-card:nth-child(n) .p1512-card-media{aspect-ratio:4/5}.p1512-card:nth-child(4n+2) .p1512-card-media,.p1512-card:nth-child(4n+3) .p1512-card-media{aspect-ratio:1/1}
  .p1512-card-caption{grid-template-columns:minmax(0,1fr) 22px}.p1512-card-place{grid-column:1}.p1512-card-arrow{grid-column:2;grid-row:1/3}
}
@media(max-width:780px){
  .p1512-intro{padding-top:66px;min-height:0}.p1512-intro-grid{grid-template-columns:1fr;gap:30px;padding:54px 0}.p1512-intro h1{font-size:clamp(58px,13vw,84px)}.p1512-intro-copy{max-width:620px}.p1512-intro-copy p{font-size:16px}.p1512-intro-scope{padding-bottom:2px}
  .p1512-browser{padding-top:70px}.p1512-browser-head{grid-template-columns:1fr;gap:23px;margin-bottom:40px}.p1512-browser-head h2{font-size:clamp(42px,8vw,58px)}.p1512-browser-head>p{font-size:15px}
  .p1512-category-tabs{width:calc(100% + var(--gutter));padding-right:var(--gutter);margin-right:calc(var(--gutter) * -1)}
  .p1512-advanced-grid{grid-template-columns:1fr 1fr}.p1512-project-grid,.p1512-project-grid.is-two-results{grid-template-columns:1fr;gap:50px;max-width:none}.p1512-card:nth-child(n) .p1512-card-media,.p1512-project-grid.is-single-result .p1512-card:not([hidden]) .p1512-card-media{aspect-ratio:1.16/1}.p1512-card-caption{grid-template-columns:minmax(0,1fr) 22px}.p1512-card-title h3{font-size:31px}
  .p1512-browser[data-portfolio-view="index"] .p1512-card-caption{grid-template-columns:minmax(0,1fr) 22px;padding:20px 0}.p1512-browser[data-portfolio-view="index"] .p1512-card-title{display:block}.p1512-browser[data-portfolio-view="index"] .p1512-card-title>span{margin-bottom:5px}.p1512-browser[data-portfolio-view="index"] .p1512-card-place{grid-column:1}.p1512-browser[data-portfolio-view="index"] .p1512-card-arrow{grid-column:2;grid-row:1/3}
  .p1512-next{grid-template-columns:1fr}.p1512-next-item:first-child{border-right:0;border-bottom:1px solid rgba(23,20,17,.13)}
}
@media(max-width:520px){
  .p1512-intro{padding:52px 24px 34px}.p1512-intro-kicker{font-size:9px}.p1512-intro-grid{padding:46px 0 44px}.p1512-intro h1{font-size:55px}.p1512-intro-scope{font-size:11px;gap:16px}
  .p1512-browser{padding:62px 24px 84px}.p1512-browser-head h2{font-size:42px}.p1512-toolbar-actions{gap:14px}.p1512-view-toggle{padding-left:14px;gap:10px}.p1512-category-tabs{margin-right:-24px;padding-right:24px;gap:23px}.p1512-advanced-grid{grid-template-columns:1fr}.p1512-result-meta{padding-bottom:24px}
  .p1512-card:nth-child(n) .p1512-card-media,.p1512-project-grid.is-single-result .p1512-card:not([hidden]) .p1512-card-media{aspect-ratio:1.08/1}.p1512-card-caption{padding-top:12px;margin-top:9px}.p1512-card-title h3{font-size:28px}.p1512-card-place{font-size:10px}
  .p1512-next-item{padding:46px 24px}.p1512-next-item a{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.page-curtain{display:none!important}html.motion-ready [data-media-entrance]{opacity:1!important;transform:none!important;transition:none!important}.p1512-card-media img,.p1512-next-item b{transform:none!important;transition:none!important}}

/* =========================================================
   0.15.14 — Services 2.1
   A calm, practical service page. Fewer images, no decorative
   numbering, no campaign-like slogans; information comes first.
   ========================================================= */
.services-v1514{--s14-max:1380px;--s14-side:clamp(26px,5vw,84px);background:var(--paper);color:var(--ink)}
.services-v1514 section{max-width:var(--s14-max);margin:0 auto;padding-left:var(--s14-side);padding-right:var(--s14-side)}

.s14-intro{padding-top:clamp(88px,9vw,145px);padding-bottom:clamp(76px,8vw,120px)}
.s14-intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:clamp(70px,9vw,150px);align-items:end}
.s14-intro-copy h1{font-size:clamp(58px,5.2vw,88px);line-height:.98;letter-spacing:-.045em;max-width:820px;margin:0}
.s14-intro-lead>p{font-size:clamp(17px,1.25vw,20px);line-height:1.68;color:var(--muted);max-width:590px;margin:0 0 30px}
.s14-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px}

.s14-services{padding-top:clamp(78px,8vw,120px);padding-bottom:clamp(90px,9vw,140px);border-top:1px solid var(--line)}
.s14-section-head{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,.9fr) minmax(300px,.58fr);gap:clamp(32px,5vw,72px);align-items:end;margin-bottom:clamp(52px,6vw,82px)}
.s14-section-head .section-label{margin:0 0 8px}
.s14-section-head h2{font-size:clamp(42px,3.5vw,58px);line-height:1.02;letter-spacing:-.032em;margin:0;max-width:680px}
.s14-section-head>p:not(.section-label){font-size:15px;line-height:1.68;color:var(--muted);max-width:430px;margin:0}
.s14-service-list{border-top:1px solid var(--ink)}
.s14-service-row{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(48px,8vw,130px);padding:clamp(31px,3.2vw,48px) 0;border-bottom:1px solid var(--line)}
.s14-service-row h3{font-size:clamp(28px,2.3vw,38px);line-height:1.08;letter-spacing:-.025em;margin:0;font-weight:400}
.s14-service-row>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:clamp(30px,5vw,68px)}
.s14-service-row p{font-size:16px;line-height:1.68;margin:0;max-width:600px}
.s14-service-row .s14-detail{font-size:14px;color:var(--muted);max-width:520px}
.s14-service-row .s14-detail strong{color:var(--ink);font-weight:600}

.s14-main-image{max-width:1580px;margin:0 auto clamp(98px,10vw,150px);padding:0 clamp(20px,3vw,48px)}
.s14-main-image picture{display:block;aspect-ratio:2.15/1;min-height:430px;overflow:hidden;background:#d8cec4}
.s14-main-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.s14-main-image figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding-top:12px}

.s14-events{padding-bottom:clamp(96px,10vw,150px)}
.s14-events .s14-section-head{grid-template-columns:minmax(220px,.42fr) 1.58fr;margin-bottom:38px}
.s14-events .s14-section-head h2{max-width:none}
.s14-event-list{border-top:1px solid var(--ink)}
.s14-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .22s ease}
.s14-event:hover{padding-left:10px}
.s14-event>div{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1fr);gap:clamp(34px,6vw,90px);align-items:baseline}
.s14-event h3{font-size:clamp(27px,2.2vw,36px);font-weight:400;margin:0;line-height:1.05}
.s14-event p{font-size:15px;line-height:1.55;color:var(--muted);margin:0;max-width:570px}
.s14-event>span{font-size:12px;font-weight:600;white-space:nowrap}

.s14-model{max-width:none!important;padding:clamp(78px,8vw,122px) max(var(--s14-side),calc((100vw - var(--s14-max))/2 + var(--s14-side)))!important;background:#eee6df;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(65px,9vw,145px);align-items:center}
.s14-model-copy{max-width:650px}
.s14-model-copy h2{font-size:clamp(44px,4vw,66px);line-height:1.02;letter-spacing:-.035em;margin:0 0 28px}
.s14-model-copy>p:not(.section-label){font-size:17px;line-height:1.72;color:#5e5853;margin:0}
.s14-model-image{aspect-ratio:1.55/1;overflow:hidden;background:#d6cec7}
.s14-model-image img{width:100%;height:100%;object-fit:cover;object-position:center 47%}

.s14-process{padding-top:clamp(94px,9vw,142px);padding-bottom:clamp(94px,9vw,142px)}
.s14-process .s14-section-head{grid-template-columns:minmax(220px,.42fr) 1.58fr;margin-bottom:42px}
.s14-process-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.s14-process-list>div{padding:28px clamp(24px,3vw,42px) 10px 0;min-height:190px}
.s14-process-list>div+div{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,42px)}
.s14-process-list h3{font-size:clamp(23px,1.8vw,29px);font-weight:400;margin:0 0 13px}
.s14-process-list p{font-size:14px;line-height:1.62;color:var(--muted);margin:0;max-width:300px}

.s14-cta{padding-top:clamp(54px,6vw,84px);padding-bottom:clamp(72px,8vw,112px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end}
.s14-cta h2{font-size:clamp(42px,3.8vw,62px);line-height:1;margin:0 0 16px;letter-spacing:-.035em}
.s14-cta>div>p:not(.section-label){font-size:16px;line-height:1.65;color:var(--muted);max-width:650px;margin:0}
.s14-cta .button{white-space:nowrap}

@media(max-width:980px){
  .s14-intro-grid{grid-template-columns:1fr;gap:32px}.s14-intro-copy h1{max-width:760px}.s14-intro-lead>p{max-width:720px}
  .s14-section-head{grid-template-columns:1fr 1fr;gap:22px 50px}.s14-section-head .section-label{grid-column:1/-1}.s14-section-head>p:not(.section-label){max-width:520px}
  .s14-service-row{grid-template-columns:1fr;gap:20px}.s14-service-row>div{grid-template-columns:1fr 1fr}
  .s14-event>div{grid-template-columns:minmax(210px,.6fr) 1fr}
  .s14-model{grid-template-columns:1fr;gap:50px}.s14-model-copy{max-width:760px}.s14-model-image{aspect-ratio:1.7/1}
  .s14-process-list{grid-template-columns:1fr 1fr}.s14-process-list>div:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.s14-process-list>div:nth-child(4){border-top:1px solid var(--line)}
  .s14-cta{grid-template-columns:1fr;gap:30px}.s14-cta .button{justify-self:start}
}

@media(max-width:680px){
  .services-v1514{--s14-side:24px}
  .s14-intro{padding-top:58px;padding-bottom:68px}.s14-intro-copy h1{font-size:48px}.s14-intro-lead>p{font-size:17px}.s14-intro-actions{gap:18px}
  .s14-services{padding-top:66px;padding-bottom:78px}.s14-section-head,.s14-events .s14-section-head,.s14-process .s14-section-head{grid-template-columns:1fr;gap:15px;margin-bottom:38px}.s14-section-head .section-label{grid-column:auto}.s14-section-head h2{font-size:39px}.s14-section-head>p:not(.section-label){font-size:14px}
  .s14-service-row{padding:28px 0}.s14-service-row h3{font-size:29px}.s14-service-row>div{grid-template-columns:1fr;gap:13px}.s14-service-row p{font-size:15px}.s14-service-row .s14-detail{font-size:13px}
  .s14-main-image{padding:0;margin-bottom:76px}.s14-main-image picture{aspect-ratio:1.12/1;min-height:0}.s14-main-image figcaption{padding:10px 24px 0}
  .s14-events{padding-bottom:78px}.s14-event{grid-template-columns:1fr;gap:12px;padding:22px 0}.s14-event:hover{padding-left:0}.s14-event>div{grid-template-columns:1fr;gap:7px}.s14-event h3{font-size:29px}.s14-event>span{font-size:11px}
  .s14-model{padding:66px 24px!important;gap:38px}.s14-model-copy h2{font-size:42px}.s14-model-copy>p:not(.section-label){font-size:16px}.s14-model-image{aspect-ratio:1.15/1}
  .s14-process{padding-top:72px;padding-bottom:76px}.s14-process-list{grid-template-columns:1fr}.s14-process-list>div,.s14-process-list>div+div,.s14-process-list>div:nth-child(3){border-left:0;border-top:1px solid var(--line);padding:22px 0;min-height:0}.s14-process-list>div:first-child{border-top:0}.s14-process-list h3{font-size:26px;margin-bottom:9px}.s14-process-list p{max-width:none}
  .s14-cta{padding-top:54px;padding-bottom:72px;gap:26px}.s14-cta h2{font-size:40px}
}

@media(prefers-reduced-motion:reduce){.page-curtain{display:none!important}html.motion-ready [data-media-entrance]{opacity:1!important;transform:none!important;transition:none!important}html.motion-ready [data-media-entrance]::after{display:none!important}html.motion-ready [data-media-entrance] img,html.motion-ready [data-media-entrance] video{opacity:1!important;transform:none!important;transition:none!important}.s14-event{transition:none}}

/* 0.15.15 — Studio 2.0: human, practical company page + footer-safe communication CTA */
.studio15{background:var(--paper);color:var(--ink)}
.studio15-hero{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;padding:clamp(68px,7vw,112px) 0 clamp(86px,9vw,140px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.58fr);gap:clamp(60px,7vw,120px);align-items:end}
.studio15-hero-copy{max-width:870px}.studio15-hero-copy h1{font-size:clamp(60px,5.8vw,94px);line-height:.96;margin:0 0 30px;letter-spacing:-.035em}.studio15-hero-copy>p:not(.section-label){font-size:19px;line-height:1.7;color:var(--muted);max-width:680px;margin:0 0 32px}
.studio15-hero-video{margin:0;position:relative;aspect-ratio:.68/1;max-height:760px;background:#d7d1c9;overflow:hidden}.studio15-hero-video video{width:100%;height:100%;object-fit:cover;display:block}.studio15-hero-video figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 12px;background:rgba(248,244,238,.9);backdrop-filter:blur(8px);font-size:12px;line-height:1.4;color:#3f3933}
.studio15-about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;padding:clamp(82px,8vw,125px) 0;display:grid;grid-template-columns:.42fr 1.3fr;gap:clamp(55px,7vw,120px)}
.studio15-about-copy{max-width:920px}.studio15-about-copy h2{font-size:clamp(44px,4vw,66px);line-height:1.02;margin:0 0 35px}.studio15-about-copy p{font-size:18px;line-height:1.75;color:var(--muted);max-width:790px;margin:0 0 20px}
.studio15-bts{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;padding:clamp(95px,9vw,145px) 0;display:grid;grid-template-columns:minmax(360px,.7fr) minmax(0,.9fr);gap:clamp(60px,8vw,135px);align-items:center}.studio15-bts-image{margin:0;aspect-ratio:.75/1;max-height:760px;overflow:hidden;background:#ddd}.studio15-bts-image img{width:100%;height:100%;object-fit:cover}.studio15-bts-copy{max-width:720px}.studio15-bts-copy h2{font-size:clamp(44px,4.4vw,70px);line-height:1;margin:0 0 28px}.studio15-bts-copy>p:not(.section-label){font-size:18px;line-height:1.75;color:var(--muted);max-width:650px}
.studio15-process{background:#efebe5;padding:clamp(88px,8vw,130px) var(--gutter)}.studio15-process>*{width:min(100%,var(--content));margin-left:auto;margin-right:auto}.studio15-process-head{display:grid;grid-template-columns:.42fr 1.3fr;gap:clamp(55px,7vw,120px);align-items:start}.studio15-process-head h2{font-size:clamp(43px,4vw,66px);line-height:1.02;margin:0;max-width:900px}.studio15-process-row{margin-top:64px!important;border-top:1px solid #bfb8af;border-bottom:1px solid #bfb8af;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;font-family:var(--serif);font-size:clamp(20px,1.7vw,28px)}.studio15-process-row i{font-style:normal;color:#9c8f85;font-family:var(--sans);font-size:18px}.studio15-process-note{font-size:16px;line-height:1.7;color:var(--muted);max-width:760px;margin-top:28px!important;margin-right:auto!important;margin-left:calc((100% - min(100%,var(--content))) / 2 + 31%)!important}
.studio15-reach{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto;padding:clamp(95px,9vw,145px) 0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,.55fr);gap:clamp(60px,8vw,135px);align-items:center}.studio15-reach-copy{max-width:740px}.studio15-reach-copy h2{font-size:clamp(44px,4.3vw,68px);line-height:1;margin:0 0 26px}.studio15-reach-copy>p:not(.section-label){font-size:18px;line-height:1.72;color:var(--muted);max-width:650px}.studio15-reach-copy strong{display:block;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--serif);font-size:30px;font-weight:400}.studio15-reach-image{margin:0;aspect-ratio:.72/1;max-height:650px;overflow:hidden;background:#ddd}.studio15-reach-image img{width:100%;height:100%;object-fit:cover}
.studio15-cta{width:min(calc(100% - (var(--gutter) * 2)),var(--content));margin:0 auto clamp(90px,9vw,145px);padding:clamp(65px,6vw,95px) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.studio15-cta h2{font-size:clamp(43px,4vw,66px);line-height:1;margin:0;max-width:930px}
.comm-trigger{transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease}.comm-module.is-footer-near .comm-trigger{opacity:0;transform:translateY(12px);pointer-events:none}
@media(max-width:980px){.studio15-hero{grid-template-columns:1fr}.studio15-hero-video{width:min(100%,520px);aspect-ratio:.74/1}.studio15-about,.studio15-process-head{grid-template-columns:1fr;gap:30px}.studio15-bts,.studio15-reach{grid-template-columns:1fr;gap:45px}.studio15-bts-image,.studio15-reach-image{width:min(100%,560px);max-height:none}.studio15-process-note{margin-left:auto!important}.studio15-cta{grid-template-columns:1fr;align-items:start}}
@media(max-width:680px){.studio15-hero,.studio15-about,.studio15-bts,.studio15-reach,.studio15-cta{width:calc(100% - 40px)}.studio15-hero{padding:50px 0 75px;gap:38px}.studio15-hero-copy h1{font-size:48px;line-height:.99}.studio15-hero-copy>p:not(.section-label),.studio15-about-copy p,.studio15-bts-copy>p:not(.section-label),.studio15-reach-copy>p:not(.section-label){font-size:16px;line-height:1.68}.studio15-hero-video{width:100%;max-height:620px}.studio15-about{padding:70px 0}.studio15-about-copy h2,.studio15-bts-copy h2,.studio15-process-head h2,.studio15-reach-copy h2,.studio15-cta h2{font-size:40px}.studio15-bts,.studio15-reach{padding:75px 0}.studio15-process{padding:70px 20px}.studio15-process-row{margin-top:42px!important;display:grid;grid-template-columns:1fr auto;gap:0;padding:0;border-bottom:0}.studio15-process-row span{padding:17px 0;border-bottom:1px solid #bfb8af}.studio15-process-row i{padding:17px 0;border-bottom:1px solid #bfb8af}.studio15-process-note{font-size:15px}.studio15-cta{margin-bottom:80px;padding:55px 0;gap:28px}.studio15-cta .button{width:100%;justify-content:space-between}}

/* 0.15.16 — Contact clarity pass: no sticky collisions, one aligned information strip, no redundant footer CTA. */
.contact16{width:min(calc(100% - (var(--gutter) * 2)),1500px);margin:0 auto;padding:clamp(64px,7vw,104px) 0 clamp(74px,7vw,108px)}
.contact16-main{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(560px,1.12fr);gap:clamp(58px,6.5vw,112px);align-items:start}
.contact16-copy{padding-top:clamp(18px,2vw,34px);max-width:560px}
.contact16-copy h1{font-size:clamp(52px,4.8vw,76px);line-height:.97;margin:0 0 28px;letter-spacing:-.038em;text-wrap:balance}
.contact16-copy>p:not(.section-label){font-size:17px;line-height:1.72;color:var(--muted);max-width:520px;margin:0}
.contact16-form{margin:0!important;padding:clamp(28px,2.8vw,42px)!important;background:#f8f4ee;border:1px solid var(--line)}
.contact16 .smart-inquiry-page{gap:24px}
.contact16 .inquiry-progress{margin-bottom:8px}
.contact16 .inquiry-step-head{padding-top:4px}
.contact16 .inquiry-step-head h3{font-size:clamp(34px,2.7vw,45px)}
.contact16-meta{margin-top:clamp(58px,6vw,86px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact16-meta-item{min-width:0;padding:24px clamp(18px,2vw,30px) 27px;border-left:1px solid var(--line)}
.contact16-meta-item:first-child{border-left:0;padding-left:0}
.contact16-meta-item:last-child{padding-right:0}
.contact16-meta-item>span{display:block;min-height:17px;margin:0 0 11px;font-size:12px;line-height:1.35;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.contact16-meta-item>strong,.contact16-meta-item>a{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(19px,1.45vw,23px);line-height:1.22;overflow-wrap:anywhere}
.contact16-meta-contact a{padding-bottom:7px;border-bottom:1px solid var(--ink);width:100%}
.public-footer.is-compact-footer .footer-grid{padding-top:clamp(58px,5.5vw,78px)}
.public-footer.is-compact-footer{border-top:0}

@media(max-width:1080px){
  .contact16-main{grid-template-columns:1fr;gap:38px}
  .contact16-copy{max-width:760px;padding-top:0}
  .contact16-copy h1{max-width:760px}
  .contact16-meta{grid-template-columns:1fr 1fr}
  .contact16-meta-item{border-bottom:1px solid var(--line)}
  .contact16-meta-item:nth-child(odd){border-left:0;padding-left:0}
  .contact16-meta-item:nth-child(3),.contact16-meta-item:nth-child(4){border-bottom:0}
}

@media(max-width:680px){
  .contact16{width:calc(100% - 40px);padding:46px 0 70px}
  .contact16-main{gap:30px}
  .contact16-copy h1{font-size:46px;line-height:.99;margin-bottom:22px}
  .contact16-copy>p:not(.section-label){font-size:16px;line-height:1.66}
  .contact16-form{padding:19px 15px!important}
  .contact16-meta{grid-template-columns:1fr;margin-top:46px}
  .contact16-meta-item,.contact16-meta-item:nth-child(odd){padding:19px 0 21px;border-left:0;border-bottom:1px solid var(--line)}
  .contact16-meta-item:last-child{border-bottom:0}
  .contact16-meta-item>strong,.contact16-meta-item>a{font-size:21px}
  .public-footer.is-compact-footer .footer-grid{padding-top:50px}
}

/* 0.15.17 — contact channel + hardening polish */
.public-footer .footer-contact .footer-phone{font-family:var(--sans);font-size:16px;line-height:1.4;color:#d7d2ca;border-bottom:0;padding:0;margin-top:13px;letter-spacing:.015em}
.public-footer .footer-contact .footer-phone:hover{color:#fff}
.contact16-direct{display:grid;gap:8px;align-content:start}
.contact16-meta-contact .contact16-phone{border-bottom:0;padding:0;font-size:clamp(21px,1.55vw,25px)}
.contact16-meta-contact .contact16-email{font-family:var(--sans);font-size:13px;line-height:1.45;color:var(--muted);border-bottom:0;padding:0;overflow-wrap:anywhere}
.page-curtain{transition-duration:.26s}
body.page-entering.page-entered .page-curtain{transition-duration:.24s}
body.page-entering.page-entered .page-curtain::before{transition-duration:.18s}

/* ===== 0.15.18 — scheduled studio break / holiday mode ===== */
.public-break-banner{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;padding:12px var(--gutter);background:#efe2dc;border-bottom:1px solid #dbcac2;color:#28231f}
.public-break-banner>div{display:flex;align-items:baseline;gap:14px;min-width:0}.public-break-banner>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8a5f5b;white-space:nowrap}.public-break-banner strong{font-family:var(--serif);font-size:17px;font-weight:400;white-space:nowrap}.public-break-banner p{margin:0;color:#665e57;font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-break-banner>a{font-size:11px;font-weight:750;border-bottom:1px solid currentColor;white-space:nowrap}.public-break-banner>a span{color:var(--coral);margin-left:6px}
.inquiry-break-notice{padding:17px 19px;border:1px solid #dbcac2;background:#f6ebe6;display:grid;gap:5px}.inquiry-break-notice>span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8a5f5b;font-weight:700}.inquiry-break-notice>strong{font:400 25px/1.08 var(--serif)}.inquiry-break-notice>p{margin:2px 0 0;font-size:13px;line-height:1.6;color:#5e5751}.inquiry-break-notice>small{font-size:11px;line-height:1.5;color:#756d66;margin-top:3px}
@media(max-width:900px){.public-break-banner{grid-template-columns:1fr;padding-top:11px;padding-bottom:11px;gap:5px}.public-break-banner>div{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.public-break-banner p{grid-column:1/-1;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.public-break-banner>a{justify-self:start}}
@media(max-width:620px){.public-break-banner>div{grid-template-columns:1fr}.public-break-banner strong{white-space:normal}.public-break-banner>div>span{font-size:9px}.public-break-banner p{font-size:11px}.public-break-banner>a{font-size:10px}.inquiry-break-notice{padding:15px}.inquiry-break-notice>strong{font-size:22px}}

/* ===== 0.15.21 — cleaner final inquiry step ===== */
.inquiry-contact-step{gap:20px}.inquiry-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inquiry-contact-fields .contact-name{grid-column:1/-1}.inquiry-contact-fields label{display:grid;gap:7px}.inquiry-contact-fields label>span small{font-weight:400;color:var(--muted);margin-left:4px}.inquiry-contact-step .contact-preference{margin:2px 0 0;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inquiry-contact-step .contact-preference legend{padding:0;margin:0 0 9px;font-size:13px;color:#393632}.inquiry-contact-step .contact-preference label{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;min-height:105px;padding:15px;border:1px solid #ddd5cd;background:#fffdfa;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.inquiry-contact-step .contact-preference label:hover{border-color:#aa9f96;transform:translateY(-1px)}.inquiry-contact-step .contact-preference input{position:absolute;opacity:0;pointer-events:none}.preference-check{width:18px;height:18px;border:1px solid #aaa098;border-radius:50%;margin-top:1px;display:grid;place-items:center}.preference-check:after{content:'';width:8px;height:8px;border-radius:50%;background:#1b1917;transform:scale(0);transition:transform .14s ease}.inquiry-contact-step .contact-preference input:checked+.preference-check{border-color:#1b1917}.inquiry-contact-step .contact-preference input:checked+.preference-check:after{transform:scale(1)}.inquiry-contact-step .contact-preference label:has(input:checked){border-color:#1b1917;background:#f7f3ee}.inquiry-contact-step .contact-preference strong{font-size:13px}.inquiry-contact-step .contact-preference small{font-size:11px;line-height:1.5;margin-top:5px}.inquiry-contact-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:14px;align-items:start;padding-top:4px}.inquiry-contact-foot .inquiry-check.optional{margin:0;background:#faf7f3;border-color:#e1d9d1}.inquiry-contact-foot .comm-privacy{margin:0;padding:12px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}.inquiry-contact-foot .comm-privacy a{color:var(--ink);border-bottom:1px solid #bbb2aa}.contact16 .inquiry-contact-step .inquiry-step-head{padding-bottom:2px}
@media(max-width:760px){.inquiry-contact-fields,.inquiry-contact-foot{grid-template-columns:1fr}.inquiry-contact-fields .contact-name{grid-column:auto}.inquiry-contact-step .contact-preference{grid-template-columns:1fr}.inquiry-contact-step .contact-preference label{min-height:0}.inquiry-contact-foot .comm-privacy{padding-top:0}}

/* 0.16.0 — accessibility baseline */
.skip-link{position:fixed;z-index:12000;left:18px;top:18px;padding:12px 16px;background:#11110f;color:var(--white);font-weight:700;transform:translateY(-180%);transition:transform .18s ease}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #7f3937;outline-offset:3px}
:where(main[tabindex="-1"]):focus{outline:none}
@media (forced-colors:active){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid CanvasText}}
html:not(.motion-ready) .reveal-up{opacity:1!important;transform:none!important}
html:not(.motion-ready) .media-reveal:after{display:none!important}
.page-curtain{transition-duration:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-curtain{display:none}.reveal-up{opacity:1!important;transform:none!important;transition:none!important}.media-reveal:after{display:none!important}.media-reveal img,.media-reveal video{transition:none!important}}

/* =========================================================
   0.17.2 — Hero motion polish
   Professional, configurable transitions without carousel chrome.
   ========================================================= */
.home-v31 .v31-hero-main>picture.hero-rotation-frame{
  position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;background:#d6c9bb;isolation:isolate;contain:paint
}
.home-v31 .v31-hero-detail.hero-rotation-frame{overflow:hidden}
.home-v31 .hero-rotation-frame>img[data-editorial-rotation]{position:relative;z-index:2}
.home-v31 .hero-transition-ghost{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:1!important;
  pointer-events:none;will-change:opacity,clip-path,filter,transform
}
.home-v31 .v31-hero-main .hero-transition-ghost{object-position:center 48%}
.home-v31 .v31-hero-detail .hero-transition-ghost{object-position:center}

/* "Metka" belongs to the large photograph: roughly one third overlaps it. */
.home-v31 .v31-hero-main>.v31-hero-note{
  left:-112px!important;right:auto!important;top:58px!important;bottom:auto!important;
  width:max-content;max-width:210px;min-width:178px;z-index:8!important;
  padding:13px 16px 12px;background:rgba(251,248,244,.91);
  border-left:2px solid rgba(232,143,140,.88);
  box-shadow:0 14px 35px rgba(34,25,20,.08);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}

/* 0.17.5 — true slow cinematic drift.
   Keep the continuous motion on the compositor: transform only, no object-position
   animation (which repaints a large photo every frame and can visibly stutter).
   The detail frame stays still; the main image carries the cinematic movement. */
.home-v31 .hero-cinematic-drift .v31-hero-main>picture{
  animation:heroFrameDrift 26s infinite;
  animation-timing-function:cubic-bezier(.45,0,.55,1);
  transform-origin:50% 49%;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden
}
@keyframes heroFrameDrift{
  0%,100%{transform:translate3d(-.55%,-.22%,0) scale(1.014)}
  50%{transform:translate3d(.75%,.42%,0) scale(1.034)}
}
/* 0.17.6 — pause continuous compositor work while hero is outside the viewport. */
.home-v31 [data-hero-motion].hero-motion-paused .v31-hero-main>picture{animation-play-state:paused!important}

/* First-load micro reveal: only the coral accent, not letter-by-letter theatrics. */
@media (prefers-reduced-motion:no-preference){
  .home-v31 .v31-hero-copy h1 span{display:inline-block;animation:heroAccentReveal .82s .18s cubic-bezier(.2,.72,.2,1) both}
  @keyframes heroAccentReveal{from{opacity:.15;transform:translate3d(0,10px,0);clip-path:inset(18% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
}

@media(max-width:1280px){
  .home-v31 .v31-hero-main>.v31-hero-note{left:-92px!important;top:52px!important}
}
@media(max-width:980px){
  .home-v31 .v31-hero-main>.v31-hero-note{left:-72px!important;top:42px!important}
}
@media(max-width:700px){
  .home-v31 .v31-hero-main>.v31-hero-note{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .home-v31 .hero-cinematic-drift .v31-hero-main>picture{animation:none!important}
}
.home-v31 [data-hero-motion] .v31-hero-main,
.home-v31 [data-hero-motion] .v31-hero-detail{transition:translate .55s cubic-bezier(.2,.72,.2,1),box-shadow .55s ease}

/* ===== 0.18.1 — legal pages: readable editorial documents, not a wall of serif text ===== */
.legal-page-v2{padding:0 0 clamp(88px,9vw,138px);background:#f4f0ea}
.legal-page-v2 .legal-shell{width:min(calc(100% - (var(--gutter) * 2)),1420px);margin:0 auto}
.legal-hero-v2{padding:clamp(66px,7.2vw,112px) 0 clamp(48px,5.8vw,82px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:clamp(54px,7vw,120px);align-items:end}
.legal-hero-copy{max-width:900px}.legal-hero-copy .section-label{margin-bottom:18px}.legal-hero-copy h1{font-size:clamp(52px,5.15vw,82px);line-height:.96;margin:0 0 24px;text-wrap:balance}.legal-hero-copy>p{font-family:var(--sans);font-size:clamp(17px,1.25vw,20px);line-height:1.65;color:#625d56;max-width:720px;margin:0}
.legal-hero-meta{display:grid;border-top:1px solid var(--line)}.legal-hero-meta>span{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45;color:#3b3833}.legal-hero-meta b{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;color:#817a71}.legal-hero-meta a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-page-v2 .legal-preview-flag{grid-column:1/-1;margin:0;justify-self:start}
.legal-layout-v2{display:grid;grid-template-columns:minmax(230px,.34fr) minmax(0,1fr);gap:clamp(64px,8vw,132px);align-items:start;padding-top:clamp(52px,6.3vw,92px)}
.legal-aside-v2{position:sticky;top:calc(var(--header-h) + 28px);display:grid;gap:34px;min-width:0}
.legal-toc{display:grid}.legal-toc>span,.legal-owner-card>span,.legal-nav-title{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#817a71;margin-bottom:15px}.legal-toc a{display:grid;grid-template-columns:31px 1fr;gap:10px;align-items:start;padding:11px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.35;color:#4e4943;transition:color .18s ease,padding-left .18s ease}.legal-toc a:last-child{border-bottom:1px solid var(--line)}.legal-toc a:hover{color:#11110f;padding-left:4px}.legal-toc i{font-style:normal;font-size:10px;letter-spacing:.06em;color:#9b736f;padding-top:2px}
.legal-owner-card{padding:21px 20px;background:#ebe5dd;border:1px solid rgba(17,17,15,.1)}.legal-owner-card>span{display:block;margin-bottom:12px}.legal-owner-card strong{display:block;font-family:var(--serif);font-size:22px;line-height:1.12;font-weight:400;letter-spacing:-.025em;margin-bottom:12px}.legal-owner-card p{font-size:12px;line-height:1.55;color:#5f5a53;margin:4px 0}.legal-owner-card a{display:block;margin-top:14px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-document-v2{min-width:0;max-width:900px}.legal-section-v2,.legal-company-panel{display:grid;grid-template-columns:54px minmax(0,1fr);gap:clamp(20px,3vw,42px);padding:0 0 clamp(48px,5.3vw,74px);margin-bottom:clamp(46px,5.3vw,74px);border-bottom:1px solid var(--line);scroll-margin-top:130px}.legal-section-mark{font-family:var(--sans);font-size:10px;line-height:1.3;letter-spacing:.12em;color:#9b736f;padding-top:10px}.legal-section-copy h2,.legal-company-panel h2{font-size:clamp(29px,2.45vw,38px);line-height:1.06;margin:0 0 24px;letter-spacing:-.03em;text-wrap:balance}.legal-section-copy p{font-family:var(--sans);font-size:clamp(15px,1.05vw,17px);line-height:1.78;color:#3f3b36;margin:0 0 16px;max-width:760px;white-space:normal}.legal-section-copy p:last-child{margin-bottom:0}
.legal-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);margin:0}.legal-company-grid>div{padding:18px 20px 19px 0;border-bottom:1px solid var(--line);min-width:0}.legal-company-grid>div:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.legal-company-grid .wide{grid-column:1/-1;padding-left:0!important;border-left:0!important}.legal-company-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#837c74;margin-bottom:6px}.legal-company-grid dd{margin:0;font-family:var(--sans);font-size:15px;line-height:1.5;color:#24211e;overflow-wrap:anywhere}.legal-company-grid a{text-decoration:underline;text-underline-offset:3px}
.legal-help-note{margin-top:6px;padding:29px 31px;background:#191917;color:#f6f2ec;display:grid;grid-template-columns:minmax(150px,.36fr) minmax(0,1fr);gap:12px 34px;align-items:start}.legal-help-note>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c8c1b8;font-weight:700}.legal-help-note p{font-family:var(--serif);font-size:clamp(22px,2vw,29px);line-height:1.18;letter-spacing:-.02em;margin:0}.legal-help-note a{grid-column:2;font-size:13px;font-weight:700;margin-top:8px;display:inline-flex;gap:10px;align-items:center;justify-self:start;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}.legal-help-note a b{color:#ef9a94}
.legal-nav-v2{margin-top:clamp(72px,8vw,120px);padding-top:24px;border-top:1px solid var(--line)}.legal-nav-v2>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.legal-nav-v2 a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 20px 22px 0;border-bottom:1px solid var(--line);min-width:0;transition:padding-left .2s ease,background .2s ease}.legal-nav-v2 a:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.legal-nav-v2 a:hover{padding-left:10px}.legal-nav-v2 a:nth-child(even):hover{padding-left:30px}.legal-nav-v2 a.is-current{opacity:.45;pointer-events:none}.legal-nav-v2 a span{display:grid;gap:4px}.legal-nav-v2 small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#817a71}.legal-nav-v2 strong{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-.025em}.legal-nav-v2 a>b{font-size:17px;color:#b36f6a}

@media(max-width:980px){
  .legal-page-v2 .legal-shell{width:min(calc(100% - 48px),1120px)}
  .legal-hero-v2{grid-template-columns:1fr;gap:32px}.legal-hero-meta{grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.legal-hero-meta>span{display:block;padding:14px 15px;border:0;border-right:1px solid var(--line)}.legal-hero-meta>span:last-child{border-right:0}.legal-hero-meta b{display:block;margin-bottom:5px}
  .legal-layout-v2{grid-template-columns:1fr;gap:44px}.legal-aside-v2{position:static;grid-template-columns:1.15fr .85fr}.legal-toc a{grid-template-columns:28px 1fr}.legal-document-v2{max-width:none}
}
@media(max-width:680px){
  .legal-page-v2{padding-bottom:76px}.legal-page-v2 .legal-shell{width:calc(100% - 40px)}
  .legal-hero-v2{padding:48px 0 38px}.legal-hero-copy h1{font-size:clamp(44px,13vw,58px);margin-bottom:18px}.legal-hero-copy>p{font-size:16px;line-height:1.62}
  .legal-hero-meta{grid-template-columns:1fr}.legal-hero-meta>span{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:112px 1fr}.legal-hero-meta>span:last-child{border-bottom:0}
  .legal-layout-v2{padding-top:38px;gap:38px}.legal-aside-v2{grid-template-columns:1fr}.legal-owner-card{display:none}.legal-toc{display:none}
  .legal-section-v2,.legal-company-panel{grid-template-columns:34px minmax(0,1fr);gap:13px;padding-bottom:42px;margin-bottom:42px}.legal-section-mark{padding-top:7px}.legal-section-copy h2,.legal-company-panel h2{font-size:30px;margin-bottom:20px}.legal-section-copy p{font-size:15px;line-height:1.72}
  .legal-company-grid{grid-template-columns:1fr}.legal-company-grid>div,.legal-company-grid>div:nth-child(even){padding:14px 0;border-left:0}.legal-company-grid .wide{grid-column:auto}
  .legal-help-note{grid-template-columns:1fr;padding:25px 22px;gap:13px}.legal-help-note p{font-size:23px}.legal-help-note a{grid-column:1;margin-top:4px;overflow-wrap:anywhere}
  .legal-nav-v2{margin-top:64px}.legal-nav-v2>div{grid-template-columns:1fr}.legal-nav-v2 a,.legal-nav-v2 a:nth-child(even){padding:18px 0;border-left:0}.legal-nav-v2 a:hover,.legal-nav-v2 a:nth-child(even):hover{padding-left:5px}.legal-nav-v2 strong{font-size:20px}
}
.legal-section-copy ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px;max-width:760px}.legal-section-copy li{position:relative;padding:0 0 0 22px;font-family:var(--sans);font-size:clamp(15px,1.05vw,17px);line-height:1.65;color:#3f3b36}.legal-section-copy li:before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;border-radius:50%;background:#bc7b76}

/* ===== 0.18.2 — legal pages: quiet editorial layout, no numbered template furniture ===== */
.legal-page-v3{background:#f6f2ec;padding:0 0 clamp(82px,8vw,126px)}
.legal-shell-v3{width:min(calc(100% - (var(--gutter) * 2)),1240px);margin:0 auto}
.legal-hero-v3{max-width:960px;padding:clamp(72px,8vw,122px) 0 clamp(48px,5vw,76px);border-bottom:1px solid var(--line)}
.legal-hero-v3 .section-label{display:block;margin-bottom:18px}
.legal-hero-v3 h1{font-size:clamp(54px,6vw,92px);line-height:.95;letter-spacing:-.045em;margin:0 0 26px;text-wrap:balance}
.legal-hero-v3>p{max-width:760px;margin:0;font-family:var(--sans);font-size:clamp(17px,1.25vw,20px);line-height:1.62;color:#625d56}
.legal-hero-foot{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:30px;font-size:12px;color:#7d766e}
.legal-hero-foot a{color:#282521;text-decoration:underline;text-underline-offset:4px}
.legal-page-v3 .legal-preview-flag{margin-top:24px}
.legal-document-v3{width:min(100%,850px);margin:clamp(58px,6vw,92px) auto 0}
.legal-section-v3{padding:0 0 clamp(42px,5vw,66px);margin:0 0 clamp(42px,5vw,66px);border-bottom:1px solid var(--line);scroll-margin-top:130px}
.legal-section-v3:last-of-type{margin-bottom:0}
.legal-section-v3 h2{max-width:760px;margin:0 0 22px;font-size:clamp(29px,2.55vw,39px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.legal-section-body{max-width:760px}
.legal-section-body p{margin:0 0 17px;font-family:var(--sans);font-size:clamp(15.5px,1.05vw,17px);line-height:1.78;color:#413d38}
.legal-section-body p:last-child{margin-bottom:0}
.legal-section-body ul{list-style:none;margin:23px 0 0;padding:0;display:grid;gap:12px}
.legal-section-body li{position:relative;padding-left:22px;font-family:var(--sans);font-size:clamp(15.5px,1.05vw,17px);line-height:1.7;color:#413d38}
.legal-section-body li:before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:#ba7772}
.legal-company-v3{margin:0 0 clamp(58px,6vw,82px);padding:clamp(28px,3vw,38px);background:#ece6de;border:1px solid rgba(20,18,16,.09)}
.legal-company-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:24px;border-bottom:1px solid rgba(20,18,16,.12)}
.legal-company-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#837b72;font-weight:700}
.legal-company-heading h2{margin:0;font-size:clamp(31px,3vw,43px);line-height:1;letter-spacing:-.035em;font-weight:400}
.legal-company-v3 dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.legal-company-v3 dl>div{padding:18px 18px 16px 0;border-bottom:1px solid rgba(20,18,16,.1);min-width:0}
.legal-company-v3 dl>div:nth-child(even){padding-left:18px;border-left:1px solid rgba(20,18,16,.1)}
.legal-company-v3 dl>div.wide{grid-column:1/-1;padding-left:0;border-left:0}
.legal-company-v3 dt{margin:0 0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#827970}
.legal-company-v3 dd{margin:0;font-family:var(--sans);font-size:15px;line-height:1.5;color:#24211e;overflow-wrap:anywhere}
.legal-company-v3 a{text-decoration:underline;text-underline-offset:3px}
.legal-contact-v3{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;margin-top:clamp(56px,6vw,84px);padding:28px 30px;background:#1a1917;color:#f6f1ea}
.legal-contact-v3 span{display:block;margin-bottom:8px;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#c9c1b8;font-weight:700}
.legal-contact-v3 p{max-width:590px;margin:0;font-family:var(--sans);font-size:14px;line-height:1.65;color:#e4ded6}
.legal-contact-v3>a{font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px;white-space:nowrap}.legal-contact-v3>a b{color:#ef9a94}
.legal-related-v3{max-width:850px;margin:clamp(64px,7vw,100px) auto 0;padding-top:18px;border-top:1px solid var(--line)}
.legal-related-v3>span{display:block;margin-bottom:14px;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#817970;font-weight:700}
.legal-related-v3>div{display:flex;flex-wrap:wrap;gap:10px 24px}
.legal-related-v3 a{font-family:var(--sans);font-size:13px;font-weight:650;border-bottom:1px solid #aaa198;padding-bottom:3px}.legal-related-v3 a.is-current{color:#9c948c;border-bottom-color:transparent;pointer-events:none}
.legal-page--informacje-prawne .legal-document-v3{width:min(100%,920px)}
.legal-page--informacje-prawne .legal-section-v3{max-width:760px;margin-left:auto;margin-right:auto}

@media(max-width:760px){
  .legal-page-v3{padding-bottom:72px}.legal-shell-v3{width:calc(100% - 40px)}
  .legal-hero-v3{padding:52px 0 38px}.legal-hero-v3 h1{font-size:clamp(46px,13vw,62px);margin-bottom:20px}.legal-hero-v3>p{font-size:16px}.legal-hero-foot{display:grid;gap:7px;margin-top:24px}
  .legal-document-v3{margin-top:44px}.legal-section-v3{padding-bottom:38px;margin-bottom:38px}.legal-section-v3 h2{font-size:29px;margin-bottom:18px}.legal-section-body p,.legal-section-body li{font-size:15px;line-height:1.72}
  .legal-company-v3{padding:23px 20px;margin-bottom:48px}.legal-company-heading{display:block}.legal-company-heading>span{display:block;margin-bottom:10px}.legal-company-heading h2{font-size:31px}.legal-company-v3 dl{grid-template-columns:1fr}.legal-company-v3 dl>div,.legal-company-v3 dl>div:nth-child(even){padding:14px 0;border-left:0}.legal-company-v3 dl>div.wide{grid-column:auto}
  .legal-contact-v3{grid-template-columns:1fr;padding:24px 22px;gap:18px}.legal-contact-v3>a{justify-self:start;white-space:normal;overflow-wrap:anywhere}
  .legal-related-v3{margin-top:58px}.legal-related-v3>div{display:grid;gap:10px}.legal-related-v3 a{justify-self:start}
}


/* ===== 0.18.4 — legal document index returns, without decorative ordinal numbers ===== */
.legal-layout-v4{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,850px);gap:clamp(58px,7vw,108px);align-items:start;margin-top:clamp(58px,6vw,92px)}
.legal-layout-v4 .legal-document-v3{width:100%;margin:0}
.legal-aside-v4{position:sticky;top:calc(var(--header-h) + 26px);display:grid;gap:34px;min-width:0}
.legal-toc-v4{display:grid}.legal-toc-v4>span,.legal-owner-card-v4>span{display:block;margin-bottom:14px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#817a71}
.legal-toc-v4 a{display:block;padding:12px 0;border-top:1px solid var(--line);font-family:var(--sans);font-size:13px;line-height:1.42;color:#4e4943;transition:color .18s ease,padding-left .18s ease}
.legal-toc-v4 a:last-child{border-bottom:1px solid var(--line)}.legal-toc-v4 a:hover,.legal-toc-v4 a:focus-visible{color:#11110f;padding-left:5px}
.legal-owner-card-v4{padding:21px 20px;background:#ece6de;border:1px solid rgba(17,17,15,.1)}.legal-owner-card-v4>span{margin-bottom:12px}.legal-owner-card-v4 strong{display:block;margin-bottom:12px;font-family:var(--serif);font-size:22px;line-height:1.12;font-weight:400;letter-spacing:-.025em}.legal-owner-card-v4 p{margin:4px 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:#5f5a53}.legal-owner-card-v4 a{display:block;margin-top:14px;font-family:var(--sans);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-layout-v4 + .legal-related-v3{max-width:850px;margin-left:auto;margin-right:0}
.legal-page--informacje-prawne .legal-layout-v4 .legal-document-v3{width:100%}.legal-page--informacje-prawne .legal-section-v3{max-width:none;margin-left:0;margin-right:0}
@media(max-width:980px){.legal-layout-v4{grid-template-columns:1fr;gap:42px}.legal-aside-v4{position:static;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:start}.legal-layout-v4 + .legal-related-v3{margin-left:0;margin-right:0;max-width:none}}
@media(max-width:680px){.legal-layout-v4{margin-top:42px;gap:36px}.legal-aside-v4{grid-template-columns:1fr;gap:24px}.legal-owner-card-v4{display:none}.legal-toc-v4 a{padding:10px 0;font-size:12.5px}.legal-layout-v4 .legal-document-v3{margin-top:0}}

/* 0.18.7 — homepage section layout variants selected from Visual Editor. */
.home-v31 .v31-manifesto.is-layout-mirrored .v31-manifesto-copy{order:2}
.home-v31 .v31-manifesto.is-layout-mirrored .v31-manifesto-side{order:1}
.home-v31 .v31-studio-inner.is-layout-mirrored .v31-studio-media-wrap{order:2;justify-self:end}
.home-v31 .v31-studio-inner.is-layout-mirrored .v31-studio-copy{order:1}
.home-v31 .v31-cta-inner.is-layout-mirrored>div:first-child{order:2}
.home-v31 .v31-cta-inner.is-layout-mirrored .v31-cta-side{order:1;justify-self:start}
@media(max-width:900px){
  .home-v31 .v31-studio-inner.is-layout-mirrored .v31-studio-media-wrap{justify-self:start}
}

/* 0.18.9 — fixed creator credit: visible on every public page, never CMS-editable. */
.footer-base .footer-credit{color:inherit;text-decoration:none;transition:color .2s ease}
.footer-base .footer-credit:hover{color:#fff}
.footer-base .footer-credit:focus-visible{outline:1px solid currentColor;outline-offset:4px;border-radius:2px}


/* =========================================================
   0.19.0 — PUBLIC EDITORIAL POLISH
   Cross-page visual QA pass: quieter typography, stronger image rhythm,
   consistent secondary-page spacing and fewer template-like UI surfaces.
   ========================================================= */
:root{
  --public-max:1540px;
  --reading-max:760px;
  --paper:#f7f4ef;
  --paper-2:#eee9e2;
  --paper-warm:#f2e8e1;
  --muted:#69625b;
  --line:rgba(23,20,17,.14);
}
body{font-size:16px;line-height:1.55}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
.section-label{font-size:11px;line-height:1.2;letter-spacing:.145em;font-weight:750;margin-bottom:18px}
.button{min-height:49px;border-radius:0;padding:14px 18px;font-size:13px;letter-spacing:.045em;text-transform:uppercase;transform:none!important}
.button:hover{transform:none!important}.button span{font-size:16px}
.inline-link{font-size:14px;line-height:1.25;gap:12px;padding-bottom:4px}.inline-link:hover{gap:18px}

/* Masthead — slightly calmer and better aligned on very wide displays. */
.public-header{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);padding-inline:max(var(--gutter),calc((100vw - 1760px)/2));height:84px;box-shadow:0 1px 0 rgba(255,255,255,.55) inset}
.public-header.is-compact{height:70px}
.public-brand{width:148px}.public-nav{gap:clamp(28px,3vw,50px)}
.public-nav a,.public-contact-link{font-size:12px;letter-spacing:.115em;font-weight:650}
.public-contact-link{font-weight:760}

/* Home — retain the approved composition, remove some UI-ish weight. */
.v31-hero-main,.v31-studio-media{box-shadow:0 22px 56px rgba(45,32,23,.08)}
.v31-hero-detail{box-shadow:0 14px 36px rgba(42,30,22,.09)}
.v31-hero-note{box-shadow:none;border-left:1px solid rgba(23,20,17,.22);padding:15px 17px}
.v31-image-tag{font-size:11px;letter-spacing:.035em;padding:8px 10px;background:rgba(255,253,249,.9)}
.v31-scope{min-height:66px;font-size:13px;color:#5d5650;gap:clamp(18px,2.5vw,38px)}
.v31-scope i{width:3px;height:3px}
.v31-work-card:hover img{transform:scale(1.018)}
.v31-service-row{padding:24px 0;transition:color .25s ease,border-color .25s ease}
.v31-service-row:hover,.v31-service-row.is-active{padding-left:0;color:#f2b0ad}
.v31-studio-badge{transform:none;right:14px;bottom:14px;padding:9px 12px;font-size:11px;letter-spacing:.035em;background:rgba(249,243,238,.9);color:#2a2521;backdrop-filter:blur(8px);box-shadow:none}
.review-card{min-height:290px;padding:clamp(27px,2.5vw,40px)}
.review-card blockquote{font-size:clamp(23px,1.8vw,29px);line-height:1.3}

/* Realizacje — portfolio first, controls second. */
.portfolio-v1512{background:var(--paper)}
.p1512-intro{background:#151311;min-height:clamp(440px,54vh,620px);padding-top:clamp(72px,7vw,118px)}
.p1512-intro h1{font-size:clamp(62px,5.9vw,102px);line-height:.92;letter-spacing:-.042em;max-width:990px}
.p1512-intro-grid{padding:clamp(56px,6vw,94px) 0 clamp(48px,5vw,76px)}
.p1512-intro-copy p{font-size:16px;line-height:1.75;max-width:520px}
.p1512-browser{background:var(--paper);padding-top:clamp(78px,6.7vw,116px)}
.p1512-browser-head{margin-bottom:clamp(44px,4vw,66px)}
.p1512-browser-head h2{font-size:clamp(43px,3.6vw,62px);line-height:1.04;max-width:900px}
.p1512-toolbar{min-height:64px}
.p1512-category-tabs{gap:clamp(18px,2vw,32px)}
.p1512-category-tabs button{font-size:12px}
.p1512-project-grid{gap:clamp(46px,4.5vw,78px) clamp(18px,1.7vw,30px)}
.p1512-card-media{background:#e0d8d0}
.p1512-card:nth-child(3n+2) .p1512-card-media{aspect-ratio:.94/1}
.p1512-card-caption{grid-template-columns:minmax(0,1fr) minmax(110px,.52fr) 22px;gap:18px;padding-top:13px;margin-top:10px}
.p1512-card-title h3{font-size:clamp(23px,1.65vw,29px);line-height:1.08}
.p1512-card-title>span,.p1512-featured{font-size:9px;letter-spacing:.12em}
.p1512-card-place{font-size:11px;line-height:1.55}
.p1512-next{background:#efe8e2}.p1512-next-item{padding-top:clamp(42px,4vw,68px);padding-bottom:clamp(42px,4vw,68px)}
.p1512-next-item a{font-size:clamp(30px,2.45vw,42px)}

/* Project detail — less poster, more case study. */
.project-hero{min-height:min(820px,calc(100vh - var(--header-h)));width:min(calc(100% - (var(--gutter) * 2)),var(--public-max));margin-inline:auto;grid-template-columns:minmax(360px,.72fr) minmax(560px,1.28fr);gap:clamp(42px,5vw,82px);align-items:stretch}
.project-hero-copy{padding:clamp(72px,7vw,112px) 0 clamp(58px,6vw,90px)}
.project-hero-copy h1{font-size:clamp(55px,5vw,82px);line-height:.98;letter-spacing:-.035em}
.project-hero-copy>p:not(.section-label){font-size:17px;line-height:1.72;max-width:550px}
.project-hero-media{min-height:620px;max-height:780px;margin:clamp(34px,4vw,62px) 0}
.project-facts{width:min(calc(100% - (var(--gutter) * 2)),var(--public-max));margin-inline:auto;padding:0;border-color:var(--line)}
.project-facts>div{padding:24px clamp(22px,2vw,34px) 24px 0;margin-right:clamp(22px,2vw,34px)}
.project-facts span{font-size:10px;letter-spacing:.13em}.project-facts strong{font-size:15px}
.project-story{max-width:var(--public-max);margin-inline:auto;padding:clamp(88px,8vw,132px) var(--gutter)}
.project-story-copy{grid-template-columns:.28fr 1fr .52fr;gap:clamp(40px,5vw,80px);margin-bottom:clamp(58px,6vw,88px)}
.project-story-copy h2{font-size:clamp(43px,4vw,66px);line-height:1.03}
.project-story-copy>p:not(.section-label){font-size:16px;line-height:1.75}
.project-gallery{gap:clamp(16px,1.6vw,26px)}
.project-gallery figure:first-child img{min-height:820px}

/* Services — editorial service sheet instead of a stack of feature cards. */
.services-v1514{--s14-max:1460px;--s14-side:clamp(26px,4.7vw,76px)}
.s14-intro{padding-top:clamp(74px,7vw,112px);padding-bottom:clamp(78px,7vw,116px)}
.s14-intro-copy h1{font-size:clamp(55px,5.2vw,84px);line-height:.98}
.s14-intro-lead>p{font-size:17px;line-height:1.72;max-width:620px}
.s14-section-head h2{font-size:clamp(40px,3.5vw,58px);line-height:1.05}
.s14-service-row{padding:clamp(30px,3vw,44px) 0;grid-template-columns:minmax(280px,.62fr) minmax(0,1fr);gap:clamp(40px,6vw,96px)}
.s14-service-row h3{font-size:clamp(29px,2.4vw,39px);line-height:1.05}
.s14-service-row p{font-size:15px;line-height:1.72}.s14-service-row .s14-detail{font-size:13px;line-height:1.65}
.s14-main-image picture{max-height:700px}
.s14-event{padding:24px 0}.s14-event:hover{padding-left:0}
.s14-event h3{font-size:clamp(25px,2vw,33px)}
.s14-model{background:#efe8e1;gap:clamp(56px,7vw,112px)}
.s14-model-copy h2{font-size:clamp(42px,3.6vw,60px);line-height:1.04}
.s14-process-list>div{min-height:170px}.s14-process-list h3{font-size:clamp(21px,1.55vw,26px)}
.s14-cta h2{font-size:clamp(40px,3.4vw,56px)}

/* Studio — photography led; process stays sequential but loses the template-arrow look. */
.studio15-hero{max-width:var(--public-max);grid-template-columns:minmax(0,1fr) minmax(390px,.62fr);gap:clamp(58px,7vw,112px);padding-top:clamp(72px,7vw,112px)}
.studio15-hero-copy h1{font-size:clamp(55px,5.3vw,84px);line-height:.98}
.studio15-hero-copy>p:not(.section-label){font-size:17px;line-height:1.75}
.studio15-hero-video{aspect-ratio:.76/1;max-height:720px}
.studio15-about,.studio15-bts,.studio15-reach,.studio15-cta{max-width:var(--public-max)}
.studio15-about-copy h2,.studio15-bts-copy h2,.studio15-reach-copy h2,.studio15-cta h2,.studio15-process-head h2{font-size:clamp(41px,3.75vw,61px);line-height:1.04}
.studio15-about-copy p,.studio15-bts-copy>p:not(.section-label),.studio15-reach-copy>p:not(.section-label){font-size:16.5px;line-height:1.8}
.studio15-process{background:#efeae4}
.studio15-process-row{font-size:clamp(19px,1.45vw,24px);gap:clamp(18px,2vw,32px);justify-content:flex-start}
.studio15-process-row span{flex:1}.studio15-process-row i{font-size:0;width:clamp(22px,2vw,34px);height:1px;background:#aaa098;flex:0 0 auto}
.studio15-process-note{font-size:15px;line-height:1.72}
.studio15-reach-copy strong{font-size:27px}

/* Showroom — controlled asymmetry, less oversized hero. */
.showroom-hero{min-height:auto;padding-top:clamp(76px,7vw,118px);padding-bottom:clamp(88px,8vw,132px);max-width:var(--public-max);grid-template-columns:minmax(330px,.76fr) minmax(520px,1.24fr)}
.showroom-hero-copy h1{font-size:clamp(54px,5.1vw,84px);line-height:.98}
.showroom-hero-copy>p{font-size:17px;line-height:1.75}
.showroom-hero-feature,.showroom-empty-visual{min-height:540px;max-height:720px}
.showroom-index{max-width:var(--public-max);padding-top:clamp(84px,8vw,128px)}
.showroom-index>header h2{font-size:clamp(42px,4vw,64px);line-height:1.04}
.showroom-card:nth-child(5n+2){margin-top:64px}.showroom-card:nth-child(5n+5){margin-top:46px}
.showroom-card h3{font-size:clamp(29px,2.35vw,41px);line-height:1.04}
.showroom-card p{font-size:14px;line-height:1.68}
.showroom-note{padding-top:clamp(90px,9vw,142px);padding-bottom:clamp(90px,9vw,142px)}
.showroom-note h2{font-size:clamp(47px,4.8vw,74px);line-height:1.02;max-width:1040px}
.showroom-style-hero{max-width:var(--public-max);min-height:auto;padding-top:clamp(72px,7vw,110px);padding-bottom:clamp(86px,8vw,126px)}
.showroom-style-intro h1{font-size:clamp(55px,5.1vw,84px);line-height:.98}
.showroom-gallery{max-width:var(--public-max)}

/* Contact — form belongs to the page, not inside a generic card. */
.contact16{max-width:var(--public-max);padding-top:clamp(72px,7vw,112px)}
.contact16-main{grid-template-columns:minmax(320px,.66fr) minmax(560px,1.16fr);gap:clamp(62px,7vw,118px)}
.contact16-copy h1{font-size:clamp(51px,4.6vw,72px);line-height:1}
.contact16-copy>p:not(.section-label){font-size:16.5px;line-height:1.76}
.contact16-form{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(30px,2.8vw,42px) 0!important}
.contact16 .smart-inquiry input:not([type="checkbox"]),.contact16 .smart-inquiry select,.contact16 .smart-inquiry textarea{background:rgba(255,253,249,.6);border-color:rgba(23,20,17,.18)}
.contact16 .inquiry-progress>span{padding-inline:0;margin-right:12px;font-size:12px}
.contact16-meta{margin-top:clamp(50px,5vw,74px)}
.contact16-meta-item>span{font-size:10px;letter-spacing:.13em}.contact16-meta-item>strong{font-size:clamp(18px,1.35vw,21px)}

/* Legal — preserve the useful table of contents, simplify surrounding chrome. */
.legal-page-v3{background:var(--paper)}
.legal-shell-v3{width:min(calc(100% - (var(--gutter) * 2)),var(--public-max))}
.legal-hero-v3{max-width:900px;padding-top:clamp(68px,7vw,108px)}
.legal-hero-v3 h1{font-size:clamp(50px,5.3vw,80px);line-height:.98}
.legal-hero-v3>p{font-size:17px;line-height:1.72}
.legal-layout-v4{grid-template-columns:minmax(220px,270px) minmax(0,820px);gap:clamp(54px,6.5vw,98px)}
.legal-toc-v4 a{padding:11px 0;font-size:12.5px;line-height:1.5}
.legal-owner-card-v4{background:#eee8e1;padding:19px 18px}
.legal-section-v3 h2{font-size:clamp(27px,2.25vw,35px);line-height:1.12}
.legal-section-body p,.legal-section-body li{font-size:15.5px;line-height:1.78}
.legal-company-v3{background:#eee8e1}

/* Footer — align all rows to the same content axis and reduce oversized CTA theatre. */
.public-footer{padding-inline:var(--gutter)}
.public-footer>.footer-lead,.public-footer>.footer-grid,.public-footer>.footer-legal-links,.public-footer>.footer-base{width:min(100%,var(--public-max));margin-inline:auto}
.public-footer .footer-lead{min-height:230px;padding-block:36px}
.public-footer .footer-lead p{font-size:10px;letter-spacing:.15em}
.public-footer .footer-lead a{font-size:clamp(42px,4.35vw,66px);line-height:1;max-width:1000px}
.public-footer .footer-lead a>span:last-child{font-size:28px}
.public-footer .footer-grid{grid-template-columns:1.25fr .45fr .9fr;gap:clamp(46px,6vw,92px);padding-top:52px;padding-bottom:44px}
.public-footer .footer-brand p{font-size:13.5px;line-height:1.68}.public-footer .footer-grid nav a{font-size:20px}
.public-footer .footer-contact>a{font-size:clamp(19px,1.55vw,25px)}
.footer-legal-links{font-size:11px;gap:9px 20px}.footer-base{font-size:10px;letter-spacing:.105em;padding-top:17px;padding-bottom:20px}
.footer-base .footer-credit{white-space:nowrap}

/* 4K guardrails — keep type and media from inflating just because the viewport is huge. */
@media(min-width:1900px){
  :root{--gutter:72px}
  .v31-hero-shell,.v31-manifesto,.v31-section-head,.v31-work-grid,.v31-services-inner,.v31-studio-inner,.v31-cta-inner{max-width:var(--public-max)}
  .p1512-intro>*,.p1512-browser>*{max-width:var(--public-max)}
}

@media(max-width:980px){
  .public-header{grid-template-columns:1fr auto;padding-inline:var(--gutter)}
  .project-hero{grid-template-columns:1fr;width:100%;gap:0}.project-hero-copy{padding-inline:var(--gutter)}.project-hero-media{margin:0;min-height:56vh;max-height:680px}
  .project-facts{width:calc(100% - (var(--gutter) * 2))}
  .project-story-copy{grid-template-columns:1fr;gap:22px}.project-story-copy>p:not(.section-label){max-width:var(--reading-max)}
  .showroom-hero{grid-template-columns:1fr;gap:46px}.showroom-hero-feature{min-height:480px}
  .contact16-form{padding-inline:0!important}
}

@media(max-width:680px){
  :root{--gutter:20px}
  .section-label{font-size:10px;margin-bottom:14px}.button{width:auto;min-width:0;min-height:47px;font-size:12px}
  .public-header{height:70px}.public-brand{width:126px}
  .v31-image-tag{font-size:10px}.v31-scope{font-size:12px;min-height:58px}
  .p1512-intro{padding:52px 20px 34px;min-height:0}.p1512-intro-grid{grid-template-columns:1fr;gap:30px;padding:50px 0 44px}.p1512-intro h1{font-size:clamp(48px,13vw,64px);line-height:.96}.p1512-intro-copy p{font-size:15px}.p1512-browser{padding:64px 20px 86px}.p1512-browser-head{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.p1512-browser-head h2{font-size:38px}.p1512-project-grid{grid-template-columns:1fr;gap:50px}.p1512-card:nth-child(n) .p1512-card-media{aspect-ratio:1/1.1}.p1512-card-caption{grid-template-columns:1fr 22px}.p1512-card-place{grid-column:1}.p1512-card-arrow{grid-column:2;grid-row:1/3}.p1512-next{grid-template-columns:1fr}.p1512-next-item:first-child{border-right:0;border-bottom:1px solid rgba(23,20,17,.13)}
  .project-hero-copy h1{font-size:48px}.project-hero-media{min-height:440px}.project-facts{grid-template-columns:1fr}.project-facts>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:17px 0}.project-facts>div:last-child{border-bottom:0}.project-story{padding:64px 20px 78px}.project-story-copy h2{font-size:39px}.project-gallery{grid-template-columns:1fr}.project-gallery figure:first-child{grid-row:auto}.project-gallery figure:first-child img{min-height:0;aspect-ratio:.86/1}.project-gallery figure:not(:first-child){aspect-ratio:1/1.04}
  .s14-intro-copy h1{font-size:46px}.s14-service-row{grid-template-columns:1fr;gap:14px}.s14-main-image picture{max-height:none}.s14-model-copy h2,.s14-section-head h2,.s14-cta h2{font-size:38px}
  .studio15-hero-copy h1{font-size:47px}.studio15-process-row{display:grid;grid-template-columns:1fr}.studio15-process-row i{display:none}.studio15-process-row span{padding:15px 0;border-bottom:1px solid #bfb8af}.studio15-process-row span:first-child{border-top:1px solid #bfb8af}
  .showroom-hero{padding:58px 20px 76px}.showroom-hero-copy h1{font-size:47px}.showroom-hero-feature{min-height:420px}.showroom-card:nth-child(n){margin-top:0}.showroom-note h2{font-size:42px}.showroom-style-hero{padding:56px 20px 72px}.showroom-style-intro h1{font-size:47px}
  .contact16{width:calc(100% - 40px);padding-top:56px}.contact16-copy h1{font-size:45px}.contact16-form{padding:24px 0!important}.contact16 .inquiry-progress{gap:6px}.contact16 .inquiry-progress>span{margin-right:0}
  .legal-shell-v3{width:calc(100% - 40px)}.legal-hero-v3 h1{font-size:46px}.legal-layout-v4{margin-top:40px}.legal-section-v3 h2{font-size:28px}
  .public-footer{padding-inline:20px}.public-footer .footer-lead{min-height:200px}.public-footer .footer-lead a{font-size:39px}.public-footer .footer-grid{grid-template-columns:1fr;gap:34px}.footer-base{display:grid;gap:10px}.footer-base .footer-credit{white-space:normal;justify-self:start}
}

@media(prefers-reduced-motion:reduce){
  .p1512-card-media img,.showroom-card img,.showroom-gallery-item img,.v31-work-media img{transition:none!important;transform:none!important}
}

/* =========================================================
   0.19.1 — SECOND-PASS PUBLIC POLISH
   Less template chrome, stronger rhythm, real case-study data.
   ========================================================= */

/* Header: keep navigation unmistakably separated even at compact widths. */
.public-nav{column-gap:clamp(34px,3.25vw,56px)}
.public-nav a{display:inline-flex;align-items:center;min-height:38px}
.public-actions{min-width:max-content}
.public-contact-link{display:inline-flex;align-items:center;min-height:38px}

/* Home: tighter editorial rhythm, category strip reads as navigation not a glued sentence. */
.home-v31 .v31-hero-shell{min-height:clamp(620px,78vh,820px)}
.home-v31 .v31-scope{width:min(calc(100% - (var(--gutter) * 2)),var(--public-max));margin-inline:auto;justify-content:flex-start;gap:0;padding-inline:0}
.home-v31 .v31-scope span{display:inline-flex;align-items:center;white-space:nowrap}
.home-v31 .v31-scope i{margin-inline:clamp(18px,2.1vw,34px);opacity:.62}
.home-v31 .v31-manifesto{padding-top:clamp(78px,7vw,118px);padding-bottom:clamp(82px,7.5vw,124px)}
.home-v31 .v31-manifesto-side>p{max-width:470px}

/* Portfolio: calmer controls and captions; keep category names visually distinct. */
.p1512-intro-scope{gap:0}
.p1512-intro-scope span{display:inline-flex;align-items:center;white-space:nowrap}
.p1512-intro-scope i{margin-inline:clamp(18px,2.15vw,36px);opacity:.8}
.p1512-toolbar{gap:clamp(24px,3vw,48px)}
.p1512-category-tabs{column-gap:clamp(24px,2.6vw,42px)}
.p1512-category-tabs button{min-height:38px;display:inline-flex;align-items:center}
.p1512-card-caption{border-top-color:rgba(23,20,17,.16)}
.p1512-card-title h3{max-width:18ch;text-wrap:balance}
.p1512-card-place{max-width:24ch}
.p1512-featured{background:rgba(248,245,240,.94);border-left-width:1px;font-weight:650}

/* Project detail: the page should read as this project, not a reusable generic template. */
.project-hero-copy>p:not(.section-label){font-family:var(--sans);font-size:13px;line-height:1.55;letter-spacing:.025em;color:var(--muted);max-width:560px}
.project-facts{display:flex;flex-wrap:wrap;align-items:stretch}
.project-facts>div{min-width:min(280px,50%);flex:1 1 220px}
.project-story-copy{grid-template-columns:minmax(120px,.24fr) minmax(0,1.15fr) minmax(240px,.48fr)}
.project-story-copy h2{max-width:20ch;text-wrap:balance}
.project-story-copy>p:not(.section-label){max-width:38ch}
.next-projects-head h2{text-wrap:balance}

/* Services: remove repetitive feature-card feeling. */
.s14-service-list{border-top:1px solid rgba(23,20,17,.18)}
.s14-service-row{border-bottom:1px solid rgba(23,20,17,.18)}
.s14-service-row .s14-detail{margin-top:14px;color:#756d66}
.s14-service-row .s14-detail strong{font-weight:650;color:#4a443f}
.s14-event{column-gap:clamp(36px,5vw,76px)}
.s14-event>span{white-space:nowrap}

/* Studio process: meaningful sequence, no decorative arrows or numbered furniture. */
.studio15-process-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);align-items:start}
.studio15-process-row span{display:block;border-top:1px solid rgba(23,20,17,.28);padding-top:16px;font-family:var(--serif);font-size:clamp(20px,1.55vw,26px);line-height:1.18;min-width:0}
.studio15-process-row i{display:none!important}

/* Contact: form hierarchy with less dashboard-like progress chrome. */
.contact16 .inquiry-progress{gap:clamp(18px,2vw,32px)}
.contact16 .inquiry-progress>span{border-top-color:rgba(23,20,17,.2);padding-top:12px}
.contact16 .inquiry-progress>span.is-active{border-top-color:var(--ink)}
.contact16 .smart-inquiry label>span{font-size:12px;letter-spacing:.01em}
.contact16 .smart-inquiry input:not([type="checkbox"]),.contact16 .smart-inquiry select,.contact16 .smart-inquiry textarea{min-height:48px}

/* Legal: keep TOC useful and calm; long labels must never run together. */
.legal-aside-v4{align-self:start}
.legal-toc-v4{display:grid}
.legal-toc-v4 a{display:block;border-bottom:1px solid rgba(23,20,17,.13);padding:12px 0}
.legal-toc-v4 a:first-of-type{border-top:1px solid rgba(23,20,17,.13)}
.legal-section-v3 h2{text-wrap:balance}
.legal-section-body{max-width:72ch}

/* Footer: quieter base, fixed Morriat credit remains visually secondary but legible. */
.public-footer .footer-legal-links{gap:clamp(14px,1.6vw,26px);row-gap:10px;flex-wrap:wrap}
.public-footer .footer-base{font-size:10px;letter-spacing:.06em}
.public-footer .footer-credit{white-space:nowrap;opacity:.78}
.public-footer .footer-credit:hover{opacity:1}

@media(max-width:980px){
  .public-nav{column-gap:24px}
  .home-v31 .v31-scope{overflow-x:auto;scrollbar-width:none}
  .home-v31 .v31-scope::-webkit-scrollbar{display:none}
  .project-story-copy{grid-template-columns:1fr;gap:18px}
  .project-story-copy h2{max-width:24ch}
  .project-story-copy>p:not(.section-label){max-width:58ch}
  .studio15-process-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
}

@media(max-width:680px){
  .home-v31 .v31-hero-shell{min-height:0}
  .home-v31 .v31-scope{width:100%;padding-inline:var(--gutter)}
  .home-v31 .v31-scope i{margin-inline:16px}
  .p1512-intro-scope i{margin-inline:16px}
  .p1512-card-title h3,.p1512-card-place{max-width:none}
  .project-facts{display:grid;grid-template-columns:1fr 1fr}
  .project-facts>div{min-width:0;margin-right:0;padding-right:16px}
  .studio15-process-row{grid-template-columns:1fr;gap:18px}
  .studio15-process-row span{font-size:22px;padding-top:12px}
  .legal-section-body{max-width:none}
  .public-footer .footer-credit{white-space:normal;text-align:right}
}

@media(prefers-reduced-motion:reduce){
  .p1512-card-media img,.p1512-card-arrow,.public-footer .footer-credit{transition:none!important}
}

/* =========================================================
   0.19.2 — RESPONSIVE QA HARDENING
   Physical spacing beats typographic tricks. No glued labels.
   ========================================================= */

/* Header — each navigation label owns real space. */
.public-header{grid-template-columns:minmax(150px,190px) minmax(340px,1fr) minmax(170px,210px)}
.public-nav{display:flex;align-items:center;justify-content:center;gap:clamp(38px,3.6vw,62px);min-width:0}
.public-nav a,.public-contact-link{white-space:nowrap}
.public-nav a>span,.public-contact-link>span{display:block}
.public-actions{justify-content:flex-end}

/* Home scope — replace tiny decorative dots with quiet editorial rules. */
.home-v31 .v31-scope{min-width:0;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.home-v31 .v31-scope span{scroll-snap-align:start}
.home-v31 .v31-scope i{width:1px;height:18px;flex:0 0 1px;border-radius:0;background:rgba(23,20,17,.2);margin-inline:clamp(20px,2.35vw,38px);opacity:1}

/* Portfolio scope and toolbar — long Polish labels must remain physically separated. */
.p1512-intro-scope{overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.p1512-intro-scope span{scroll-snap-align:start}
.p1512-intro-scope i{width:1px;height:15px;flex:0 0 1px;border-radius:0;background:rgba(255,255,255,.28);margin-inline:clamp(20px,2.4vw,38px);opacity:1}
.p1512-toolbar{min-width:0;overflow:hidden}
.p1512-category-tabs{min-width:0;flex:1 1 auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.p1512-category-tabs button{scroll-snap-align:start;flex:0 0 auto;margin-right:clamp(2px,.4vw,8px)}
.p1512-category-tabs button span{margin-left:7px}
.p1512-toolbar-actions{padding-left:clamp(18px,2vw,32px);border-left:1px solid rgba(23,20,17,.12)}
.p1512-view-toggle{gap:clamp(14px,1.5vw,24px)}
.p1512-card-caption{grid-template-columns:minmax(0,1fr) minmax(130px,.46fr) 28px;gap:clamp(16px,1.7vw,28px)}
.p1512-card-title h3{overflow-wrap:anywhere}
.p1512-card-place{justify-self:end;text-align:right;align-self:start;overflow-wrap:anywhere}

/* Services / Studio — steady vertical rhythm without extra visual furniture. */
.s14-service-row{align-items:start}
.s14-service-row>div{align-items:start}
.s14-service-row p,.s14-service-row .s14-detail{max-width:62ch}
.studio15-process-row span{min-height:72px;padding-right:clamp(8px,1vw,18px)}
.studio15-process-note{max-width:66ch}

/* Contact — meaningful process step, but no generic circular badges. */
.contact16 .inquiry-progress{align-items:start}
.contact16 .inquiry-progress>span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:9px;min-width:0;padding:12px 0 10px;margin-right:0;color:#817a73}
.contact16 .inquiry-progress>span b{display:block;width:auto;height:auto;min-width:18px;flex:0 0 auto;border:0;border-radius:0;background:transparent!important;color:#9b938b!important;font:650 10px/1 var(--sans);letter-spacing:.08em}
.contact16 .inquiry-progress>span.active,.contact16 .inquiry-progress>span.is-active{color:var(--ink);border-top-color:var(--ink)}
.contact16 .inquiry-progress>span.active b,.contact16 .inquiry-progress>span.is-active b{color:var(--ink)!important}

/* Legal — useful TOC stays visible on desktop and document anchors land below the header. */
.legal-aside-v4{top:calc(var(--header-h) + 22px);max-height:calc(100vh - var(--header-h) - 44px);overflow:auto;padding-right:10px;scrollbar-width:thin;overscroll-behavior:contain}
.legal-section-v3,.legal-company-v3{scroll-margin-top:calc(var(--header-h) + 28px)}
.legal-toc-v4 a{overflow-wrap:anywhere}
.legal-document-v3{min-width:0}

/* Footer — predictable wrapping on in-between widths. */
.public-footer .footer-grid>*{min-width:0}
.public-footer .footer-contact a{overflow-wrap:anywhere}
.public-footer .footer-legal-links a{white-space:nowrap}

/* Keyboard focus should be visible without introducing card-like chrome. */
.public-header a:focus-visible,.public-footer a:focus-visible,.p1512-category-tabs button:focus-visible,.p1512-filter-toggle:focus-visible,.p1512-view-toggle button:focus-visible,.legal-toc-v4 a:focus-visible,.button:focus-visible,.inline-link:focus-visible{outline:2px solid var(--coral);outline-offset:4px}

@media(max-width:1180px){
  .public-header{grid-template-columns:minmax(135px,170px) minmax(300px,1fr) minmax(155px,185px)}
  .public-nav{gap:clamp(26px,2.4vw,38px)}
  .p1512-toolbar{display:block}
  .p1512-category-tabs{width:100%;padding-right:var(--gutter)}
  .p1512-toolbar-actions{width:100%;padding:12px 0 0;border-left:0;border-top:1px solid rgba(23,20,17,.12);justify-content:space-between}
  .p1512-card-caption{grid-template-columns:minmax(0,1fr) 28px}
  .p1512-card-place{grid-column:1;justify-self:start;text-align:left;max-width:38ch}
  .p1512-card-arrow{grid-column:2;grid-row:1/3}
}

@media(max-width:980px){
  .public-header{grid-template-columns:1fr auto}
  .legal-aside-v4{max-height:none;overflow:visible;padding-right:0}
  .studio15-process-row span{min-height:0}
}

@media(max-width:680px){
  .home-v31 .v31-scope i{height:14px;margin-inline:16px}
  .p1512-intro-scope i{height:13px;margin-inline:16px}
  .p1512-category-tabs{column-gap:26px;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter)}
  .p1512-toolbar-actions{gap:18px}
  .contact16 .inquiry-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .contact16 .inquiry-progress>span{grid-template-columns:1fr;gap:5px;font-size:11px;line-height:1.25}
  .contact16 .inquiry-progress>span b{font-size:9px}
  .public-footer .footer-legal-links a{white-space:normal}
}

/* =========================================================
   0.19.3 — FINAL PUBLIC ACCEPTANCE PASS
   Legibility, responsive composure and calm interaction states.
   No new visual furniture; photography and content remain primary.
   ========================================================= */

/* Readability floor — remove the last pieces of micro-copy from the marketing UI. */
.public-nav a,.public-contact-link{font-size:13px;letter-spacing:.105em}
.section-label{font-size:12px;line-height:1.25;letter-spacing:.145em}
.v31-image-tag{font-size:11.5px;line-height:1.3}
.v31-studio-badge{font-size:12px;line-height:1.3}
.p1512-card-title>span,.p1512-featured{font-size:10.5px;line-height:1.35}
.p1512-card-place{font-size:12px;line-height:1.55}
.project-facts span{font-size:11px;line-height:1.35}
.contact16-meta-item>span{font-size:11px;line-height:1.35}
.legal-company-v3 dt,.legal-related-v3>span{font-size:10px}
.public-footer .footer-lead p{font-size:11px;line-height:1.35}
.public-footer .footer-legal-links{font-size:12px;line-height:1.45}
.public-footer .footer-base{font-size:11px;line-height:1.45;letter-spacing:.05em}

/* Typography — control line length and rag without introducing cards or decoration. */
.home-v31 :is(h1,h2,h3),
.portfolio-v1512 :is(h1,h2,h3),
.services-v1514 :is(h1,h2,h3),
.studio15 :is(h1,h2,h3),
.contact16 :is(h1,h2,h3),
.legal-page-v3 :is(h1,h2,h3),
.project-page :is(h1,h2,h3){text-wrap:balance}
.home-v31 p,.portfolio-v1512 p,.services-v1514 p,.studio15 p,.contact16 p,.legal-page-v3 p,.project-page p{text-wrap:pretty}
.public-footer a,.public-footer p,.contact16 a,.legal-page-v3 a{overflow-wrap:anywhere}

/* Home — keep the approved editorial composition, but remove accidental runway. */
.home-v31 .v31-manifesto{padding-top:clamp(72px,6.4vw,106px);padding-bottom:clamp(78px,6.8vw,112px)}
.home-v31 .v31-manifesto-side>p{max-width:44ch}
.home-v31 .v31-work{padding-top:clamp(72px,5.8vw,100px)}
.home-v31 .v31-section-head{margin-bottom:clamp(38px,3.4vw,56px)}
.home-v31 .v31-work-meta strong{max-width:22ch}
.home-v31 .v31-services-lead,.home-v31 .v31-studio-copy>p,.home-v31 .v31-cta-side>p{max-width:60ch}

/* Images — stable framing and restrained hover. */
.v31-work-media,.p1512-card-media,.project-gallery figure,.showroom-card-media,.showroom-gallery-item{overflow:hidden}
.v31-work-media img,.p1512-card-media img,.project-gallery img,.showroom-card img,.showroom-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
@media(hover:hover) and (pointer:fine){
  .home-v31 .v31-work-card:hover img{transform:scale(1.012)}
  .p1512-card:hover .p1512-card-media img{transform:scale(1.012)}
  .showroom-card:hover img,.showroom-gallery-item:hover img{transform:scale(1.012)}
}
@media(hover:none),(pointer:coarse){
  .home-v31 .v31-work-card:hover img,
  .p1512-card:hover .p1512-card-media img,
  .showroom-card:hover img,
  .showroom-gallery-item:hover img{transform:none!important;filter:none!important}
  .button:hover,.inline-link:hover{transform:none!important}
}

/* Portfolio — captions stay editorial and never collapse into a metadata wall. */
.p1512-card-caption{align-items:start}
.p1512-card-title{min-width:0}
.p1512-card-title h3{max-width:20ch}
.p1512-card-place{max-width:28ch}
.p1512-toolbar-actions{min-width:max-content}

/* Project detail — readable measure, balanced facts and predictable gallery crop. */
.project-hero-copy>p:not(.section-label){max-width:58ch}
.project-story-copy>p:not(.section-label){max-width:44ch}
.project-gallery figure{min-width:0;background:#e7e0d8}
.project-gallery figure img{min-width:100%}

/* Services / Studio — avoid tiny supporting copy and stretched empty rows. */
.s14-service-row p,.s14-service-row .s14-detail,.studio15-process-note{font-size:max(15px,1rem)}
.s14-service-row{min-height:0}
.studio15-process-row span{min-height:0}

/* Contact — form remains part of the page and stays comfortably readable. */
.contact16 .smart-inquiry label>span{font-size:13px;line-height:1.4}
.contact16 .smart-inquiry input:not([type="checkbox"]),.contact16 .smart-inquiry select,.contact16 .smart-inquiry textarea{font-size:16px;line-height:1.45}
.contact16 .inquiry-progress>span{font-size:12.5px;line-height:1.35}
.contact16 .inquiry-progress>span b{font-size:10px}

/* Legal — keep the useful TOC, but make long documents calm and readable. */
.legal-toc-v4{scrollbar-gutter:stable}
.legal-toc-v4 a{font-size:13px;line-height:1.5}
.legal-section-body{max-width:70ch}
.legal-section-body p,.legal-section-body li{font-size:16px;line-height:1.78}
.legal-owner-card-v4 p,.legal-owner-card-v4 a{font-size:12.5px}

/* Footer — compact final chapter, not another hero. */
.public-footer .footer-lead{min-height:210px}
.public-footer .footer-grid{padding-top:46px;padding-bottom:40px}
.public-footer .footer-brand p{max-width:40ch}
.public-footer .footer-credit{opacity:.82}

/* Short laptop screens: preserve hierarchy without forcing oversized vertical scenes. */
@media(min-width:901px) and (max-height:780px){
  .home-v31 .v31-hero-shell{min-height:610px}
  .home-v31 .v31-hero-art{height:540px}
  .p1512-intro{min-height:400px;padding-top:60px}
  .project-hero{min-height:620px}
  .project-hero-media{min-height:520px;margin-top:24px;margin-bottom:24px}
  .studio15-hero,.showroom-hero,.contact16{padding-top:58px}
}

/* Tablet acceptance: no compressed sidebars, orphaned metadata or fake desktop layouts. */
@media(max-width:1180px){
  .public-nav a,.public-contact-link{font-size:12.5px}
  .p1512-card-title h3,.p1512-card-place{max-width:none}
  .legal-layout-v4{grid-template-columns:minmax(200px,250px) minmax(0,1fr);gap:46px}
  .public-footer .footer-grid{gap:42px}
}

@media(max-width:980px){
  .legal-layout-v4{grid-template-columns:1fr;gap:38px}
  .legal-aside-v4{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);gap:28px}
  .public-footer .footer-credit{text-align:right}
}

@media(max-width:680px){
  .section-label{font-size:11px;line-height:1.3}
  .v31-image-tag{font-size:10.5px}
  .p1512-card-title>span,.p1512-featured{font-size:10px}
  .p1512-card-place{font-size:11.5px}
  .contact16 .smart-inquiry label>span{font-size:12.5px}
  .contact16 .inquiry-progress>span{font-size:11.5px}
  .legal-aside-v4{grid-template-columns:1fr}
  .legal-toc-v4 a{font-size:12.5px}
  .legal-section-body p,.legal-section-body li{font-size:15.5px;line-height:1.75}
  .public-footer .footer-lead{min-height:185px}
  .public-footer .footer-legal-links{font-size:11.5px}
  .public-footer .footer-base{font-size:10.5px}
}

@media(prefers-reduced-motion:reduce){
  .home-v31 .v31-work-card img,.p1512-card-media img,.showroom-card img,.showroom-gallery-item img,.inline-link,.button{transition:none!important;transform:none!important}
}

/* 0.20.6 — permanent, low-noise RODO notice in the public footer */
.footer-rodo-note{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid rgba(24,22,20,.14);font-size:11px;line-height:1.5}.footer-rodo-note>span{flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.footer-rodo-note p{margin:0;max-width:760px;color:var(--muted)}.footer-rodo-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.footer-rodo-note{display:grid;gap:5px}}

/* 0.20.7 — public proposal cards use descriptive hierarchy, not decorative numbering */
.public-variant-head{display:block;padding-bottom:20px;border-bottom:1px solid #e5ddd5}
.public-variant-head>span{display:none}

/* 0.23.0 — client portal */
.client-portal-page{margin:0;background:#f4f0ea;color:#211d1a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.client-portal-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 56px}.client-portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 2px 20px;border-bottom:1px solid rgba(74,62,52,.12)}.client-portal-logo img{display:block;width:170px;height:auto}.client-portal-topbar>div{text-align:right}.client-portal-topbar span{display:block;color:#8b8178;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.client-portal-topbar strong{display:block;margin-top:3px;font-size:14px}.client-portal-notice{margin:18px 0 0;padding:13px 16px;border:1px solid #bdddc5;background:#eef8f0;border-radius:14px;color:#255c31}.client-portal-notice.error{border-color:#efc4c1;background:#fff1ef;color:#8b312b}.client-portal-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:end;padding:44px 0 30px}.client-portal-hero h1{margin:5px 0 8px;font:500 clamp(38px,5vw,64px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.client-portal-hero p{margin:0;color:#756b62}.client-portal-hero aside{padding:18px 20px;border:1px solid rgba(74,62,52,.12);background:rgba(255,255,255,.6);border-radius:18px}.client-portal-hero aside span,.client-portal-hero aside small{display:block;color:#887e75;font-size:12px}.client-portal-hero aside strong{display:block;margin:6px 0;font-size:20px}.client-portal-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.client-portal-stages>div{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid rgba(74,62,52,.1);background:rgba(255,255,255,.48);border-radius:14px;color:#958b82;font-size:13px}.client-portal-stages i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8e2db;font-style:normal;font-size:11px}.client-portal-stages .done,.client-portal-stages .current{color:#302923}.client-portal-stages .done i{background:#dceedd;color:#26623a}.client-portal-stages .current{border-color:#d8b7aa;background:#fff9f5}.client-portal-stages .current i{background:#f5d9cf;color:#944a34}.client-portal-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.8fr);gap:18px;align-items:start}.client-portal-main,.client-portal-side{display:grid;gap:18px}.client-portal-card{padding:24px;border:1px solid rgba(74,62,52,.11);background:rgba(255,255,255,.72);border-radius:22px;box-shadow:0 16px 40px rgba(65,53,43,.035)}.client-portal-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.client-portal-card h2{margin:3px 0 0;font:500 25px/1.1 Georgia,"Times New Roman",serif}.client-portal-card header p{margin:5px 0 0;color:#81766d;font-size:13px}.client-portal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-portal-facts>div{padding:14px 15px;background:#f8f5f1;border-radius:14px}.client-portal-facts span,.client-portal-facts small{display:block;color:#8c8279;font-size:11px}.client-portal-facts strong{display:block;margin-top:5px;font-size:14px;line-height:1.45}.client-portal-published-note{margin-top:14px;padding:17px 18px;border-left:3px solid #c4856f;background:#fff8f4;border-radius:0 14px 14px 0}.client-portal-published-note span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9b6c5c}.client-portal-published-note p{margin:7px 0 0;white-space:pre-line;line-height:1.65}.client-portal-pill{padding:7px 10px;border-radius:999px;background:#f0ece7;color:#6f665f;font-size:11px;font-weight:700}.client-portal-pill.accepted{background:#e3f1e4;color:#286138}.client-portal-offer-items{display:grid;gap:1px;border:1px solid #e9e3dd;border-radius:14px;overflow:hidden}.client-portal-offer-items article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:13px 14px;background:#fff}.client-portal-offer-items article+article{border-top:1px solid #eee8e2}.client-portal-offer-items strong,.client-portal-offer-items small{display:block}.client-portal-offer-items small{margin-top:3px;color:#8c8178;font-size:11px}.client-portal-offer-items article>span{font-size:12px;color:#796e65}.client-portal-offer-items article>b{font-size:13px}.client-portal-offer-total,.client-portal-remaining{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:14px 2px 0}.client-portal-offer-total strong,.client-portal-remaining strong{font-size:22px}.client-portal-accept{display:flex;align-items:center;gap:14px;margin-top:18px;padding:16px;background:#f7f4f0;border-radius:16px}.client-portal-accept button,.client-portal-compose button{border:0;border-radius:12px;background:#201c19;color:#fff;padding:12px 16px;font-weight:700;cursor:pointer}.client-portal-accept small{color:#7b7169;line-height:1.45}.client-portal-offer-note{margin-top:16px;padding:15px;background:#faf7f3;border-radius:14px}.client-portal-offer-note p{margin:6px 0 0;color:#655d56;white-space:pre-line;line-height:1.6}.client-portal-thread{display:grid;gap:10px;max-height:440px;overflow:auto;padding:3px}.client-portal-thread article{display:flex}.client-portal-thread article.client{justify-content:flex-start}.client-portal-thread article.team{justify-content:flex-end}.client-portal-thread article>div{max-width:76%;padding:11px 13px;border-radius:16px}.client-portal-thread article.client>div{background:#f4e7dc;border-bottom-left-radius:5px}.client-portal-thread article.team>div{background:#e5effb;border-bottom-right-radius:5px}.client-portal-thread p{margin:0;white-space:pre-line;line-height:1.5}.client-portal-thread time{display:block;margin-top:6px;color:#8d837a;font-size:10px}.client-portal-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:15px}.client-portal-compose textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #ddd5ce;border-radius:13px;background:#fff;padding:12px 13px;font:inherit}.client-portal-money{padding:14px 0 16px;border-bottom:1px solid #eee7e0}.client-portal-money span,.client-portal-money small{display:block;color:#8b8178;font-size:12px}.client-portal-money strong{display:block;margin:4px 0;font-size:30px}.client-portal-payments{display:grid;gap:9px;margin-top:14px}.client-portal-payments article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px;background:#f8f5f1;border-radius:13px}.client-portal-payments article>div{grid-column:1}.client-portal-payments article>span{grid-column:2;grid-row:1;font-size:10px;font-weight:700;align-self:start}.client-portal-payments article>b{grid-column:1/3;font-size:14px}.client-portal-payments small{display:block;margin-top:3px;color:#8b8178;font-size:10px}.client-portal-payments .overdue{color:#a23b32}.client-portal-payments .paid{color:#2f7642}.client-portal-progress>div{height:9px;background:#eee7e0;border-radius:99px;overflow:hidden}.client-portal-progress i{display:block;height:100%;background:#9a7465;border-radius:99px}.client-portal-progress strong{display:block;margin-top:12px;font-size:28px}.client-portal-progress span{color:#81766d;font-size:12px}.client-portal-files{display:grid;gap:8px}.client-portal-files a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #eee7e0;border-radius:13px;color:inherit;text-decoration:none;background:#fff}.client-portal-files strong,.client-portal-files small{display:block}.client-portal-files small{margin-top:3px;color:#8a8077;font-size:10px}.client-portal-empty{margin:0;color:#82776e;line-height:1.6}.client-portal-footer{display:flex;align-items:center;gap:12px;margin-top:18px;padding:22px 4px 0;color:#7d736a}.client-portal-footer img{width:34px;height:34px}.client-portal-footer strong,.client-portal-footer span{display:block}.client-portal-footer span{margin-top:2px;font-size:11px}
@media(max-width:820px){.client-portal-shell{width:min(100% - 20px,1180px);padding-top:14px}.client-portal-logo img{width:135px}.client-portal-topbar>div{display:none}.client-portal-hero{grid-template-columns:1fr;padding:30px 0 20px}.client-portal-hero aside{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.client-portal-hero aside small{grid-column:1/3}.client-portal-stages{grid-template-columns:1fr 1fr}.client-portal-grid{grid-template-columns:1fr}.client-portal-card{padding:18px;border-radius:18px}.client-portal-facts{grid-template-columns:1fr}.client-portal-offer-items article{grid-template-columns:minmax(0,1fr) auto}.client-portal-offer-items article>b{grid-column:1/3}.client-portal-compose{grid-template-columns:1fr}.client-portal-thread article>div{max-width:88%}.client-portal-accept{align-items:flex-start;flex-direction:column}}

/* 0.23.1 — client portal security gate */
.client-portal-logout{margin-left:auto}.client-portal-logout button{border:1px solid rgba(74,62,52,.16);background:rgba(255,255,255,.65);color:#5f554d;border-radius:10px;padding:9px 12px;font:700 11px/1 Inter,ui-sans-serif,system-ui;cursor:pointer}.client-portal-access-page{min-height:100vh}.client-portal-access-shell{width:min(560px,calc(100% - 28px));margin:0 auto;padding:clamp(28px,7vh,76px) 0 48px}.client-portal-access-logo{display:inline-block;margin-bottom:24px}.client-portal-access-logo img{display:block;width:min(190px,48vw);height:auto}.client-portal-access-card{padding:clamp(24px,5vw,40px);border:1px solid rgba(74,62,52,.12);background:rgba(255,255,255,.82);border-radius:24px;box-shadow:0 24px 70px rgba(62,50,40,.07)}.client-portal-access-card h1{margin:7px 0 14px;font:500 clamp(34px,7vw,48px)/1.04 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.client-portal-access-lead{margin:0;color:#6f655d;line-height:1.7;font-size:15px}.client-portal-code-request,.client-portal-code-form{display:grid;gap:14px;margin-top:24px}.client-portal-code-request button,.client-portal-code-form button{border:0;border-radius:13px;background:#201c19;color:#fff;padding:14px 18px;font-weight:750;cursor:pointer}.client-portal-code-form label span{display:block;margin-bottom:7px;color:#6e645c;font-size:12px;font-weight:700}.client-portal-code-form input{width:100%;box-sizing:border-box;border:1px solid #d8d0c8;border-radius:14px;background:#fff;padding:15px 16px;text-align:center;font:700 28px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.25em}.client-portal-code-form input:focus{outline:2px solid #dca08b;outline-offset:2px}.client-portal-code-resend{margin-top:10px}.client-portal-code-resend button{border:0;background:transparent;color:#6e6259;text-decoration:underline;text-underline-offset:3px;padding:6px 0;cursor:pointer}.client-portal-access-security{margin-top:28px;padding-top:20px;border-top:1px solid #ece5de}.client-portal-access-security strong{font-size:13px}.client-portal-access-security p{margin:7px 0 0;color:#80756c;font-size:12px;line-height:1.65}.client-portal-access-footer{margin-top:18px;text-align:center;color:#8a8077;font-size:11px}.client-portal-access-card .client-portal-notice{margin-top:20px}
@media(max-width:820px){.client-portal-topbar{flex-wrap:wrap}.client-portal-logout{margin-left:0}.client-portal-access-shell{padding-top:24px}.client-portal-access-card{border-radius:19px}.client-portal-code-form input{font-size:24px}}

/* 0.24.7 — inquiry reliability + custom budget */
.smart-inquiry [data-budget-custom-wrap]{align-self:end}
.smart-inquiry .field-hint{display:block;margin-top:6px;color:#7b746d;font-size:11px;line-height:1.45}
.smart-inquiry [data-budget-custom-wrap]>span small{font-size:10px;font-weight:650;color:#8b827a;margin-left:5px}
.smart-inquiry[data-inquiry-ready="1"] .comm-submit:disabled{transform:none}

/* =========================================================
   0.24.8 — inquiry reliability + public availability calendar
   ========================================================= */
[data-budget-custom-wrap]{grid-column:1/-1}.field-hint{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}
.inquiry-success{padding:22px 24px;border-left:3px solid #5c8066;background:#edf3ee;outline:none}.inquiry-success>span{display:block;margin-bottom:8px;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#51705a}.inquiry-success>strong{display:block;font:400 clamp(25px,2.1vw,34px)/1.08 var(--serif);color:var(--ink)}.inquiry-success>p{margin:10px 0 0;max-width:62ch;color:#5d665f;font-size:14px;line-height:1.6}.inquiry-success>button{margin-top:18px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:4px 0;color:var(--ink);font-weight:700;cursor:pointer}

.public-inquiry-calendar{margin-top:clamp(34px,4vw,54px);padding-top:22px;border-top:1px solid var(--line);max-width:520px}.public-inquiry-calendar-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.public-inquiry-calendar-head>div:first-child>span{display:block;margin-bottom:5px;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:#8b625f}.public-inquiry-calendar-head>div:first-child>strong{display:block;font:400 clamp(23px,2vw,29px)/1.08 var(--serif)}.public-inquiry-calendar-nav{display:flex;gap:6px}.public-inquiry-calendar-nav button{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:16px}.public-inquiry-calendar-nav button:disabled{opacity:.28;cursor:default}.public-inquiry-calendar-note{margin:12px 0 18px!important;max-width:50ch!important;font-size:12px!important;line-height:1.55!important;color:var(--muted)!important}.public-inquiry-calendar-note strong{color:var(--ink)}.public-inquiry-calendar-month{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.public-inquiry-calendar-month>strong{font-size:14px;text-transform:capitalize}.public-inquiry-calendar-month>span{font-size:10px;color:var(--muted);text-align:right}.public-inquiry-calendar-weekdays,.public-inquiry-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.public-inquiry-calendar-weekdays{margin-bottom:4px}.public-inquiry-calendar-weekdays span{padding:4px 0;text-align:center;font-size:9px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:#8a837c}.calendar-day,.calendar-day-blank{min-width:0;min-height:54px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;border:1px solid rgba(23,20,17,.12);padding:7px;background:#f5f2ec;color:var(--ink);text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.calendar-day.is-green{background:#edf3ee}.calendar-day.is-yellow{background:#f6eedf}.calendar-day.is-red{background:#f3e5e3}.calendar-day:not(:disabled){cursor:pointer}.calendar-day:not(:disabled):hover{transform:translateY(-1px);border-color:rgba(23,20,17,.4);box-shadow:0 5px 13px rgba(23,20,17,.08)}.calendar-day:disabled{opacity:1;cursor:default}.calendar-day.is-past{opacity:.34}.calendar-day.is-selected{outline:2px solid var(--ink);outline-offset:1px}.calendar-day-number{font-size:11px;font-weight:750}.calendar-day-count{position:absolute;right:6px;top:6px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:99px;background:rgba(23,20,17,.82);color:#fff;font-size:9px}.calendar-day-city{display:block;margin-top:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;line-height:1.2;color:#625d56}.public-inquiry-calendar-legend{display:flex;flex-wrap:wrap;gap:11px 17px;margin-top:13px;font-size:9.5px;color:var(--muted)}.public-inquiry-calendar-legend span{display:flex;align-items:center;gap:6px}.public-inquiry-calendar-legend i{width:8px;height:8px;border-radius:50%;background:#d5d0c8}.public-inquiry-calendar-legend i.green{background:#6f9478}.public-inquiry-calendar-legend i.yellow{background:#c49b52}.public-inquiry-calendar-legend i.red{background:#a85e59}.public-inquiry-calendar-status{min-height:18px;margin:9px 0 0!important;font-size:10px!important;line-height:1.45!important;color:var(--muted)!important}.calendar-load-error{grid-column:1/-1;margin:8px 0;padding:14px;border:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:980px){.public-inquiry-calendar{max-width:760px}.calendar-day,.calendar-day-blank{min-height:58px}}
@media(max-width:620px){.public-inquiry-calendar{margin-top:30px}.calendar-day,.calendar-day-blank{min-height:48px;padding:5px}.calendar-day-city{display:none}.public-inquiry-calendar-month>span{display:none}.public-inquiry-calendar-legend{gap:9px 13px}}


/* =========================================================
   0.24.9 — premium public calendar + cities in heatmap
   ========================================================= */
.public-inquiry-calendar{--cal-green:#6f9478;--cal-yellow:#c49b52;--cal-red:#a85e59;position:relative;isolation:isolate;max-width:560px;margin-top:clamp(36px,4vw,58px);padding:25px 25px 20px;border:1px solid rgba(49,40,33,.13);border-radius:2px;background:linear-gradient(145deg,rgba(255,253,249,.82),rgba(244,238,231,.72));box-shadow:0 18px 54px rgba(43,31,23,.065);overflow:hidden;backdrop-filter:blur(10px)}
.public-inquiry-calendar:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.38),transparent 38%,rgba(219,178,168,.06));pointer-events:none}
.public-inquiry-calendar-glow{position:absolute;z-index:-1;width:180px;height:180px;right:-82px;top:-94px;border-radius:50%;background:radial-gradient(circle,rgba(224,161,155,.18),rgba(224,161,155,0) 68%);filter:blur(2px);pointer-events:none}
.public-inquiry-calendar-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(49,40,33,.11)}
.public-inquiry-calendar-title>span{display:flex!important;align-items:center;gap:8px;margin:0 0 7px!important;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase;color:#8c625f!important}
.public-inquiry-calendar-title>span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#86a38c;box-shadow:0 0 0 4px rgba(111,148,120,.12)}
.public-inquiry-calendar-title>strong{display:block!important;max-width:390px;font:400 clamp(23px,2vw,30px)/1.07 var(--serif)!important;letter-spacing:-.025em}
.public-inquiry-calendar-nav{display:flex;gap:7px;flex:0 0 auto}
.public-inquiry-calendar-nav button{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(49,40,33,.16);border-radius:50%;background:rgba(255,255,255,.58);color:var(--ink);cursor:pointer;font-size:15px;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.public-inquiry-calendar-nav button:not(:disabled):hover{transform:translateY(-2px);border-color:rgba(49,40,33,.38);background:#fff;box-shadow:0 7px 16px rgba(35,28,22,.09)}
.public-inquiry-calendar-nav button:disabled{opacity:.26;cursor:default}
.public-inquiry-calendar-note{margin:14px 0 17px!important;max-width:54ch!important;font-size:11.5px!important;line-height:1.58!important;color:#716a63!important}
.public-inquiry-calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px;padding-top:3px}
.public-inquiry-calendar-month{display:block;margin:0}.public-inquiry-calendar-month>span{display:block;margin-bottom:2px;font-size:8.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#918980}.public-inquiry-calendar-month>strong{display:block;font:400 19px/1.1 var(--serif);text-transform:capitalize}
.public-inquiry-calendar-mode{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(49,40,33,.1);border-radius:999px;background:rgba(255,255,255,.52);font-size:8.5px;line-height:1.2;white-space:nowrap;color:#766e67}.public-inquiry-calendar-mode i{width:5px;height:5px;border-radius:50%;background:#6f9478}
.public-inquiry-calendar-weekdays,.public-inquiry-calendar-grid{gap:6px}.public-inquiry-calendar-weekdays{margin-bottom:6px}.public-inquiry-calendar-weekdays span{padding:4px 0;font-size:8px;font-weight:800;letter-spacing:.09em;color:#968e86}
.calendar-day,.calendar-day-blank{min-height:64px}.calendar-day{position:relative;border:1px solid rgba(49,40,33,.09);border-radius:2px;padding:7px 7px 6px;background:rgba(255,255,255,.54)!important;overflow:hidden;transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .2s ease,box-shadow .22s ease,background .22s ease}.calendar-day:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cal-green);opacity:.72}.calendar-day.is-yellow:before{background:var(--cal-yellow)}.calendar-day.is-red:before{background:var(--cal-red)}.calendar-day.is-green{box-shadow:inset 0 0 0 999px rgba(111,148,120,.026)}.calendar-day.is-yellow{box-shadow:inset 0 0 0 999px rgba(196,155,82,.035)}.calendar-day.is-red{box-shadow:inset 0 0 0 999px rgba(168,94,89,.036)}
.calendar-day:not(:disabled):hover{z-index:2;transform:translateY(-3px);border-color:rgba(49,40,33,.29);background:#fff!important;box-shadow:0 9px 20px rgba(40,31,24,.105)}.calendar-day.is-selected{outline:0;border-color:#211d19;box-shadow:0 0 0 1px #211d19,0 10px 24px rgba(40,31,24,.1)}.calendar-day.is-selected:after{content:"✓";position:absolute;right:5px;bottom:5px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#211d19;color:#fff;font-size:8px}.calendar-day.is-today .calendar-day-number{text-decoration:underline;text-underline-offset:3px}.calendar-day.is-past{opacity:.3;filter:saturate(.6)}
.calendar-day-number{position:relative;z-index:1;font-size:10.5px;font-weight:800}.calendar-day-count{right:5px;top:6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#26211d;color:#fff;font-size:8.5px;font-weight:800;box-shadow:0 2px 7px rgba(31,25,20,.14)}
.calendar-day-city{position:relative;z-index:1;display:flex;align-items:center;gap:3px;margin-top:auto;max-width:calc(100% - 2px);padding:3px 5px;border:1px solid rgba(49,40,33,.075);border-radius:999px;background:rgba(255,255,255,.66);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;line-height:1.1;color:#625a53}.calendar-day-city-mark{flex:0 0 auto;font-size:8px;opacity:.72}.calendar-day-city-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.public-inquiry-calendar-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(49,40,33,.09)}.public-inquiry-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 13px;margin:0;font-size:8.5px}.public-inquiry-calendar-legend i{width:6px;height:6px}.public-inquiry-calendar-status{min-height:0;max-width:180px;margin:0!important;text-align:right;font-size:8.5px!important;line-height:1.35!important;color:#8c847c!important}
.public-inquiry-calendar.is-loading .public-inquiry-calendar-grid{opacity:.48}.public-inquiry-calendar.is-loading .public-inquiry-calendar-mode i{animation:calendarPulse 1s ease-in-out infinite}.public-inquiry-calendar-grid{transition:opacity .18s ease}.public-inquiry-calendar-grid.is-entering{animation:calendarMonthIn .32s cubic-bezier(.2,.7,.2,1)}
@keyframes calendarMonthIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes calendarPulse{50%{opacity:.25;transform:scale(.75)}}
@media (prefers-reduced-motion:reduce){.public-inquiry-calendar-grid.is-entering,.public-inquiry-calendar.is-loading .public-inquiry-calendar-mode i{animation:none}.calendar-day,.public-inquiry-calendar-nav button{transition:none}}
@media(max-width:980px){.public-inquiry-calendar{max-width:760px}.calendar-day,.calendar-day-blank{min-height:68px}}
@media(max-width:620px){.public-inquiry-calendar{margin-top:30px;padding:19px 14px 15px}.public-inquiry-calendar-title>strong{font-size:23px}.public-inquiry-calendar-note{font-size:11px!important}.public-inquiry-calendar-toolbar{align-items:center}.public-inquiry-calendar-mode{font-size:7.7px}.public-inquiry-calendar-weekdays,.public-inquiry-calendar-grid{gap:4px}.calendar-day,.calendar-day-blank{min-height:55px}.calendar-day{padding:6px 4px 5px}.calendar-day-city{display:flex;font-size:6.6px;padding:2px 3px}.calendar-day-city-mark{display:none}.calendar-day-count{min-width:16px;height:16px;font-size:7.5px}.public-inquiry-calendar-footer{display:block}.public-inquiry-calendar-status{max-width:none;margin-top:8px!important;text-align:left}}


/* =========================================================
   0.25.0 - inquiry form resilience and calendar clarity
   ========================================================= */
.smart-inquiry [data-budget-custom-wrap]{grid-column:1/-1}
.public-inquiry-calendar-status:not(:empty){padding:5px 7px;border:1px solid rgba(49,40,33,.08);background:rgba(255,255,255,.45)}
@media(max-width:760px){
  .contact16 .smart-inquiry .comm-fields{grid-template-columns:1fr}
  .contact16 .smart-inquiry input:not([type="checkbox"]),.contact16 .smart-inquiry select,.contact16 .smart-inquiry textarea{font-size:16px}
}

/* 0.26.0 - interactive client proposal */
.inquiry-offer-header{border-bottom:1px solid #e0d7cf}
.offer-public-toolbar{display:flex;align-items:stretch;border-bottom:1px solid #ddd5cd;background:#f7f2ec;position:sticky;top:0;z-index:18;box-shadow:0 8px 28px rgba(42,34,28,.045)}
.offer-public-toolbar>div{min-width:160px;padding:13px 20px;border-right:1px solid #e0d7cf;display:grid;gap:3px}
.offer-public-toolbar span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#8a8077}
.offer-public-toolbar strong{font:400 15px/1.2 var(--serif)}
.offer-public-toolbar .is-accepted{background:#edf4ed}.offer-public-toolbar .is-accepted strong{color:#4f7056}
.offer-public-toolbar button{margin-left:auto;border:0;border-left:1px solid #ddd5cd;background:transparent;padding:0 22px;font:700 9px/1 var(--sans);cursor:pointer;color:#5d554e}
.offer-public-toolbar button:hover{background:#fff}
.offer-public-introline{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start;padding:34px 64px 0}
.offer-public-introline span{font:400 22px/1.1 var(--serif)}.offer-public-introline p{margin:0;max-width:700px;font-size:11px;line-height:1.65;color:#746a62}
.offer-question-sent{margin:18px 64px 0;padding:16px 18px;border:1px solid #d1dfd2;background:#eef5ef}.offer-question-sent strong,.offer-question-sent span{display:block}.offer-question-sent strong{font:400 20px/1.1 var(--serif)}.offer-question-sent span{font-size:10px;color:#5d6f60;margin-top:4px}
.offer-selected-banner small{display:block;margin-top:8px;font-size:9px;color:#617266}
.public-variant{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.public-variant:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(42,34,28,.07)}
.public-variant.recommended{border-color:#cda39d;background:linear-gradient(180deg,#fff 0%,#fffaf8 100%)}
.variant-public-labels{display:flex;align-items:center;gap:8px;min-height:20px}.variant-public-labels>span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#1d1a18;color:#fff;font-size:8px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.public-variant-total>div{text-align:right}.public-variant-total>div small{display:block;font-size:8px;color:#8a8077;text-decoration:line-through;margin-bottom:5px}.public-variant-total>div strong{display:block}
.offer-accept-trigger{margin-top:18px;width:100%;border:0;background:#191715;color:#fff;padding:14px 16px;font-weight:750;cursor:pointer;transition:transform .16s ease,background .16s ease}.offer-accept-trigger:hover{background:#2a2622;transform:translateY(-1px)}.public-variant.recommended .offer-accept-trigger{background:#9e625f}.public-variant.recommended .offer-accept-trigger:hover{background:#8d5754}
.offer-question-section{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:54px;padding:56px 64px;border-top:1px solid #ddd5cd;background:#f7f2ec}.offer-question-section h2{font:400 clamp(32px,4vw,46px)/1 var(--serif);letter-spacing:-.03em;margin:8px 0 14px}.offer-question-section>div>p{max-width:430px;font-size:11px;line-height:1.7;color:#70675f}.offer-question-section form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.offer-question-section label{display:grid;gap:6px}.offer-question-section label.wide{grid-column:1/-1}.offer-question-section label>span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#736a62;font-weight:750}.offer-question-section select,.offer-question-section textarea{width:100%;border:1px solid #d5cbc2;background:#fff;padding:11px 12px;font:inherit;border-radius:0}.offer-question-section textarea{resize:vertical;line-height:1.55}.offer-question-section button{border:0;background:#191715;color:#fff;padding:13px 20px;font-weight:750;min-height:44px;cursor:pointer}.offer-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.offer-accept-dialog{width:min(620px,calc(100% - 28px));border:0;padding:0;background:#fbf8f3;color:#181513;box-shadow:0 30px 100px rgba(25,20,17,.32)}.offer-accept-dialog::backdrop{background:rgba(24,20,18,.52);backdrop-filter:blur(4px)}.offer-accept-dialog form{position:relative;padding:34px;display:grid;gap:15px}.offer-dialog-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:1px solid #d8cfc7;background:#fff;cursor:pointer;font-size:20px;line-height:1}.offer-accept-dialog h2{font:400 38px/1 var(--serif);letter-spacing:-.03em;margin:0}.offer-dialog-price{font:400 25px/1 var(--serif);margin:0;color:#9d625f}.offer-accept-dialog form>p:not(.offer-dialog-price){font-size:11px;line-height:1.65;color:#6e655e;margin:0}.offer-accept-dialog label:not(.offer-confirm-line){display:grid;gap:6px}.offer-accept-dialog label>span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:750;color:#726961}.offer-accept-dialog label small{text-transform:none;letter-spacing:0;font-weight:400}.offer-accept-dialog input[type="text"],.offer-accept-dialog input:not([type]),.offer-accept-dialog textarea{width:100%;border:1px solid #d7cec6;background:#fff;padding:11px 12px;font:inherit}.offer-accept-dialog textarea{resize:vertical}.offer-confirm-line{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;background:#f1ece6;border:1px solid #dfd7cf}.offer-confirm-line input{margin-top:2px}.offer-confirm-line span{font-size:10px!important;text-transform:none!important;letter-spacing:0!important;color:#4f4842!important}.offer-dialog-confirm{border:0;background:#191715;color:#fff;padding:14px 18px;font-weight:750;cursor:pointer}
@media(max-width:900px){.offer-public-toolbar{position:static;overflow-x:auto}.offer-public-toolbar>div{min-width:135px}.offer-public-toolbar button{min-width:150px}.offer-public-introline{grid-template-columns:1fr;padding:28px 22px 0;gap:8px}.offer-question-sent{margin:16px 18px 0}.offer-question-section{grid-template-columns:1fr;padding:42px 22px;gap:22px}.offer-question-section form{grid-template-columns:1fr}.offer-question-section label.wide{grid-column:auto}.offer-question-section button{width:100%}}
@media(max-width:620px){.offer-public-toolbar>div{padding:11px 14px;min-width:118px}.offer-public-toolbar button{padding:0 14px}.offer-accept-dialog form{padding:28px 20px}.offer-accept-dialog h2{font-size:32px}.variant-public-labels{align-items:flex-start;flex-direction:column;gap:5px}.public-variant:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.public-variant,.offer-accept-trigger{transition:none!important}.public-variant:hover,.offer-accept-trigger:hover{transform:none!important}}
@media print{.offer-public-toolbar,.offer-question-section,.offer-accept-dialog,.offer-accept-trigger,.quote-preview-ribbon{display:none!important}.inquiry-offer-public{background:#fff}.inquiry-offer-shell{width:100%;margin:0;border:0;box-shadow:none}.public-variant{break-inside:avoid}.public-variant:hover{transform:none;box-shadow:none}}

/* 0.29.0 - Client Portal visual refresh */
.client-portal-page{background:radial-gradient(circle at 12% 0%,rgba(229,197,183,.22),transparent 28%),radial-gradient(circle at 86% 12%,rgba(196,211,199,.18),transparent 27%),#f6f2ed}.client-portal-shell{width:min(1220px,calc(100% - 36px));padding-bottom:54px}.client-portal-topbar{padding:18px 0 14px;border-bottom:1px solid rgba(74,62,52,.08);backdrop-filter:blur(12px)}.client-portal-hero{padding:42px 0 30px}.client-portal-hero h1{max-width:760px;font-size:clamp(42px,5.2vw,74px);letter-spacing:-.045em}.client-portal-hero>div>p{max-width:720px;font-size:15px;line-height:1.75}.client-portal-hero aside{border:1px solid rgba(74,62,52,.09);background:rgba(255,255,255,.68);box-shadow:0 22px 60px rgba(64,51,42,.06);border-radius:20px;padding:18px 20px}.client-portal-stages{gap:8px}.client-portal-stages>div{min-height:48px;background:rgba(255,255,255,.65);box-shadow:0 8px 26px rgba(63,50,41,.025)}.client-portal-stages .current{box-shadow:0 12px 34px rgba(153,103,82,.1)}.client-portal-grid{gap:22px}.client-portal-card{border-color:rgba(74,62,52,.095);background:rgba(255,255,255,.82);border-radius:24px;box-shadow:0 20px 62px rgba(65,53,43,.045);backdrop-filter:blur(12px)}.client-portal-card h2{font-size:27px}.client-portal-facts>div{background:linear-gradient(145deg,#faf7f3,#f5f0eb);border:1px solid rgba(74,62,52,.055)}.client-portal-thread{padding:8px}.client-portal-thread article>div{box-shadow:0 6px 18px rgba(60,49,40,.035)}.client-portal-compose textarea{border-color:#d7cec6;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.client-portal-compose button,.client-portal-accept button{box-shadow:0 8px 20px rgba(32,28,25,.12);transition:transform .16s ease,box-shadow .16s ease}.client-portal-compose button:hover,.client-portal-accept button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(32,28,25,.17)}
@media(max-width:1024px) and (min-width:821px){.client-portal-shell{width:min(100% - 28px,1100px)}.client-portal-grid{grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr)}.client-portal-card{padding:20px}.client-portal-hero{grid-template-columns:minmax(0,1.5fr) minmax(220px,.6fr)}.client-portal-offer-items article{gap:10px}.client-portal-stages>div{padding:10px;font-size:11px}}
@media(max-width:820px){.client-portal-shell{width:min(100% - 18px,1180px)}.client-portal-hero{padding-top:28px}.client-portal-hero h1{font-size:clamp(37px,11vw,54px)}.client-portal-stages{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.client-portal-stages>div{flex:0 0 170px;scroll-snap-align:start}.client-portal-card{padding:17px}.client-portal-card h2{font-size:23px}}


/* 0.33.0 - premium client portal polish */
.client-portal-nav-v330{position:sticky;top:8px;z-index:20;display:flex;gap:4px;margin:0 0 14px;padding:5px;border:1px solid rgba(74,62,52,.11);border-radius:14px;background:rgba(250,247,243,.92);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(64,51,42,.05)}.client-portal-nav-v330 a{flex:1;display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 10px;border-radius:10px;color:#6d645d;text-decoration:none;font-size:11px;font-weight:750}.client-portal-nav-v330 a:hover{background:#fff;color:#241f1b}
.client-portal-next-v330{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-bottom:18px;padding:20px 22px;border:1px solid #e2d9d1;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#fbf7f3 100%);box-shadow:0 14px 38px rgba(65,53,43,.04)}.client-portal-next-v330>div>span{display:block;margin-bottom:6px;color:#9a7165;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.client-portal-next-v330 h2{margin:0;font:500 27px/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.02em}.client-portal-next-v330 p{max-width:760px;margin:7px 0 0;color:#70665e;font-size:13px;line-height:1.55}.client-portal-next-v330>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:11px;background:#211d1a;color:#fff;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.client-portal-next-v330.attention{border-color:#e6ceb0;background:linear-gradient(135deg,#fffdf9,#fff6e9)}.client-portal-next-v330.danger{border-color:#e6c0ba;background:linear-gradient(135deg,#fff,#fff3f1)}.client-portal-next-v330.done{border-color:#cfe0d0;background:linear-gradient(135deg,#fff,#f1f8f1)}
.client-portal-card[id]{scroll-margin-top:78px}.client-portal-overview{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(251,247,243,.78))}.client-portal-side{position:sticky;top:72px}.client-portal-payment-card .client-portal-money{padding-top:2px}.client-portal-thread article>div{box-shadow:0 5px 14px rgba(54,45,38,.035)}
@media(max-width:820px){.client-portal-nav-v330{top:4px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.client-portal-nav-v330::-webkit-scrollbar{display:none}.client-portal-nav-v330 a{flex:0 0 auto;min-width:96px}.client-portal-next-v330{grid-template-columns:1fr;padding:18px}.client-portal-next-v330 h2{font-size:24px}.client-portal-next-v330>a{justify-self:start}.client-portal-side{position:static}}
@media(max-width:520px){.client-portal-next-v330{gap:14px}.client-portal-next-v330>a{width:100%;box-sizing:border-box}.client-portal-card{scroll-margin-top:70px}.client-portal-stages{gap:6px}.client-portal-stages>div{padding:10px}.client-portal-stages>div span{font-size:11px}}


/* 0.34.0 - client portal touch/readability QA */
.client-portal-nav-v330 a{min-height:44px;font-size:12px;touch-action:manipulation}
.client-portal-next-v330>a{min-height:44px;font-size:12px;touch-action:manipulation}
.client-portal-card p,.client-portal-card li{line-height:1.58}
@media(max-width:820px){
  .client-portal-nav-v330{padding:6px;gap:6px;scroll-padding-inline:6px}
  .client-portal-nav-v330 a{min-width:108px;min-height:46px;font-size:12px;scroll-snap-align:start}
  .client-portal-nav-v330{scroll-snap-type:x proximity}
  .client-portal-next-v330>a{min-height:46px;font-size:12px}
}
@media(max-width:620px){
  .public-inquiry-calendar-mode{font-size:9px}
  .calendar-day-city{font-size:8px;padding:2px 4px}
  .calendar-day-count{font-size:8.5px}
}

/* 0.37.0 - client portal final real-data polish */
.client-portal-pulse-v370{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.client-portal-pulse-v370>a{position:relative;display:grid;min-width:0;gap:5px;padding:16px 17px;border:1px solid rgba(74,62,52,.1);border-radius:16px;background:rgba(255,255,255,.7);color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(65,53,43,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.client-portal-pulse-v370>a:hover{transform:translateY(-1px);border-color:rgba(120,90,76,.22);box-shadow:0 14px 34px rgba(65,53,43,.065)}.client-portal-pulse-v370 span{color:#81766d;font-size:12px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.client-portal-pulse-v370 strong{font-size:16px;line-height:1.35}.client-portal-pulse-v370 small{color:#766c63;font-size:12px;line-height:1.45}.client-portal-pulse-v370>a.done{border-color:#cee0cf;background:#f5fbf5}.client-portal-pulse-v370>a.attention{border-color:#e5cfb2;background:#fffaf2}.client-portal-pulse-v370>a.danger{border-color:#e6c0ba;background:#fff6f4}.client-portal-next-v330>div>span{font-size:12px}.client-portal-payments article>span,.client-portal-payments small,.client-portal-files small,.client-portal-thread time{font-size:12px}.client-portal-facts span,.client-portal-facts small{font-size:12px}.client-portal-progress span{font-size:13px}
@media(max-width:820px){.client-portal-pulse-v370{grid-template-columns:repeat(3,minmax(210px,1fr));overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity;scrollbar-width:none}.client-portal-pulse-v370::-webkit-scrollbar{display:none}.client-portal-pulse-v370>a{scroll-snap-align:start;min-height:96px}.client-portal-nav-v330 a{min-width:116px}.client-portal-next-v330>div>span{font-size:12px}}
@media(max-width:520px){.client-portal-pulse-v370{grid-template-columns:1fr;overflow:visible}.client-portal-pulse-v370>a{min-height:0}.client-portal-pulse-v370 strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.client-portal-pulse-v370>a{transition:none}.client-portal-pulse-v370>a:hover{transform:none}}
.client-portal-card .quote-kicker,.client-portal-hero .quote-kicker,.client-portal-card small,.client-portal-pill,.client-portal-stages>div{font-size:12px}

/* 0.45.2 — phone and tablet layout: header and homepage.
   Keep the mobile navigation as a separate layer instead of allowing the
   late desktop masthead rules to override the earlier mobile breakpoint. */
@media (max-width:980px){
  .public-header,
  .public-header.is-compact{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    max-width:100%;
    height:72px;
    padding-inline:clamp(16px,4vw,30px);
    gap:12px;
  }
  .public-header .public-brand{width:clamp(118px,32vw,146px);max-width:100%;min-width:0}
  .public-header .public-nav,
  .public-header .public-contact-link{display:none}
  .public-header .public-actions{min-width:0;gap:0;justify-content:flex-end}
  .public-header .menu-button{display:block;flex:0 0 44px;width:44px;height:44px;touch-action:manipulation}
  .mobile-panel{
    display:flex;position:fixed;z-index:90;
    top:72px;left:0;right:0;bottom:0;
    padding:clamp(28px,5vw,48px) clamp(20px,5vw,36px) 36px;
    flex-direction:column;justify-content:space-between;
    background:var(--paper);
    transform:translateY(-120%);opacity:0;visibility:hidden;
    transition:transform .35s ease,opacity .25s ease,visibility .35s;
    overflow-y:auto;
  }
  .mobile-panel.is-open{transform:none;opacity:1;visibility:visible}
  .mobile-panel nav{display:grid}
  .mobile-panel nav a{font-family:var(--serif);font-size:clamp(35px,7.8vw,64px);line-height:1.15;padding:12px 0;border-bottom:1px solid var(--line)}
  .mobile-panel p{font-size:15px;color:var(--muted);margin:24px 0 0}
  .home-v31{min-width:0;max-width:100%;overflow-x:clip}
  .home-v31 .v31-hero-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;min-width:0;min-height:0;padding:0;margin:0}
  .home-v31 .v31-hero-art{order:1;width:auto;max-width:calc(100% - 48px);height:clamp(480px,67vw,620px);min-height:0;margin:20px 24px 0;overflow:hidden;background:#ece4db}
  .home-v31 .v31-hero-copy{order:2;min-width:0;max-width:760px;padding:48px clamp(20px,5vw,40px) 52px}
  .home-v31 .v31-hero h1{font-size:clamp(44px,7.3vw,67px);max-width:100%;overflow-wrap:break-word}
  .home-v31 .v31-hero-main{top:2%;right:2%;width:79%;height:86%;max-width:none}
  .home-v31 .v31-hero-detail{left:2%;bottom:2%;width:38%;max-width:300px;border-width:7px}
  .home-v31 .v31-scope{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
}
@media (max-width:620px){
  .public-header,.public-header.is-compact{height:68px;padding-inline:18px}
  .public-header .public-brand{width:128px}
  .mobile-panel{top:68px}
  .home-v31 .v31-hero-art{height:clamp(385px,112vw,495px);max-width:calc(100% - 32px);margin:16px 16px 0}
  .home-v31 .v31-hero-main{top:14px;right:12px;width:78%;height:80%}
  .home-v31 .v31-hero-detail{left:10px;bottom:12px;width:44%;max-width:205px;border-width:5px}
  .home-v31 .v31-image-tag{left:auto;right:10px;bottom:10px;max-width:68%;padding:8px 10px;font-size:11px;line-height:1.35;white-space:normal}
  .home-v31 .v31-hero-copy{padding:42px 22px 48px}
  .home-v31 .v31-hero h1{font-size:clamp(39px,10.8vw,50px);line-height:1.01}
  .home-v31 .v31-hero-intro{font-size:16px;line-height:1.6}
  .home-v31 .v31-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;overflow:visible;white-space:normal;padding:16px 22px 24px;min-height:0}
  .home-v31 .v31-scope i{display:none}
  .home-v31 .v31-scope span{white-space:normal;min-width:0;font-size:12px;line-height:1.5;letter-spacing:.045em}
}
@media (prefers-reduced-motion:reduce){.mobile-panel{transition:none}}

/* Quote-specific photographs (private to the offer, not part of the media library). */
.variant-inspiration-photo{margin:14px 0 17px;display:grid;gap:8px;overflow:hidden;}
.variant-inspiration-photo img{display:block;width:100%;max-height:260px;object-fit:contain;background:#faf7f4;border:1px solid #e7dcd4;border-radius:12px;}
.variant-inspiration-photo figcaption{font-size:13px;color:#6c615d;letter-spacing:.01em;}

/* 0.45.7 – Quote variant inspiration gallery */
.variant-inspiration-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0;}
.variant-inspiration-gallery .variant-inspiration-photo{margin:0;min-width:0;}
.variant-inspiration-gallery .variant-inspiration-photo:first-child{grid-column:1/-1;}
.variant-inspiration-gallery img{width:100%;height:155px;object-fit:cover;display:block;border-radius:10px;}
.variant-inspiration-gallery .variant-inspiration-photo:first-child img{height:230px;}
@media(max-width:620px){.variant-inspiration-gallery img{height:126px;}.variant-inspiration-gallery .variant-inspiration-photo:first-child img{height:185px;}}

/* 0.46.10: Dyskretny podpis techniczny wyłącznie w materiałach dla klientów. */
.client-portal-footer .portal-technology-credit{margin-top:5px;font-size:10px;line-height:1.5;color:#8c8279;font-weight:400}
.client-portal-footer .portal-technology-credit a,.client-portal-access-footer .portal-technology-credit a,.offer-technology-credit a{color:inherit;text-decoration:underline;text-decoration-color:rgba(115,103,92,.32);text-underline-offset:3px}
.client-portal-footer .portal-technology-credit a:hover,.client-portal-access-footer .portal-technology-credit a:hover,.offer-technology-credit a:hover{color:#443930;text-decoration-color:currentColor}
.client-portal-access-footer .portal-technology-credit{display:block;margin-top:6px;font-size:10px;line-height:1.5;color:#95887c}
.client-quote-footer .offer-technology-credit{display:inline-block;margin-top:7px;font-size:9px;line-height:1.45;color:#968b83;font-weight:400}
@media print{.client-quote-footer .offer-technology-credit{font-size:8px}}
