@font-face{font-family:Instrument Serif;src:url(assets/instrument-serif.woff2) format("woff2");font-display:swap}
@font-face{font-family:Instrument Serif;src:url(assets/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:Instrument Sans;src:url(assets/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  color-scheme:light;--paper:#f6f0e7;--panel:#fff9f1;--selected:#ebd6d6;--band:#f0e3dd;
  --browser-edge:#f6f0e7;
  --ink:#2d1b24;--muted:#5e4651;--accent:#7d294a;--rule:#ad8f95;--button-ink:#fff7f0;
  --callout:#462533;--callout-ink:#fff4ed;--callout-muted:#f1d7dd;--callout-btn:#f5ced1;--callout-btn-ink:#472433;
  --stage-dark:#54233f;--stage-glow:#a96978;--stage-floor:#c0988f;
  --display:"Instrument Serif",Georgia,serif;
}
:root[data-theme=dark]{
  color-scheme:dark;--paper:#26171f;--panel:#302027;--selected:#482c38;--band:#2c1b24;
  --browser-edge:#1b1016;
  --ink:#fff3ec;--muted:#dec5c7;--accent:#ffb5aa;--rule:#896773;--button-ink:#26171f;
  --callout:#432533;--callout-ink:#fff3ec;--callout-muted:#ecd1d4;--callout-btn:#ffb5aa;--callout-btn-ink:#26171f;
  --stage-dark:#4c2234;--stage-glow:#a15158;--stage-floor:#a97475;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:1.25rem;background-color:var(--browser-edge)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.5 "Instrument Sans",Arial,sans-serif}
@media(max-width:900px){
  body::before{
    content:"";
    position:fixed;
    inset:0 0 auto;
    height:3px;
    z-index:5;
    background-color:var(--browser-edge);
    pointer-events:none;
  }
}
[hidden]{display:none!important}
h1,h2,h3,p,figure,ol{margin:0}
img{display:block;width:100%;height:auto}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,summary{cursor:pointer}
button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
em{color:var(--accent);font-weight:inherit}
small{font-size:.78em}
.page-width{width:min(100% - 6rem,1240px);margin-inline:auto}
.skip{position:absolute;top:1rem;left:1rem;z-index:4;padding:.65rem .9rem;background:var(--panel);color:var(--ink);clip-path:inset(50%);transform:translateY(-200%)}
.skip:focus{clip-path:none;transform:none}
.mark-dark,[data-theme=dark] .mark-light{display:none}
[data-theme=dark] .mark-dark{display:block}
.masthead{border-bottom:1px solid var(--rule);position:relative;z-index:2}
.masthead-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.05rem}
.masthead-inner{min-height:90px}
.studio-logo{width:100px;flex:0 0 auto;display:block;padding:.24rem 0}
.studio-logo img{object-fit:contain}
.desktop-nav,.footer-inner nav{display:flex;align-items:center;gap:clamp(.78rem,2.2vw,2.2rem)}
.desktop-nav a,.footer-inner nav a,.mobile-nav nav a{font-weight:650;font-size:.88rem}
.desktop-nav a:hover,.footer-inner nav a:hover,.mobile-nav nav a:hover{color:var(--accent)}
nav a:is([aria-current=page],[aria-current=location]){color:var(--accent);text-decoration:underline;text-underline-offset:.37em;text-decoration-thickness:1.5px}
.header-actions{display:flex;align-items:center;gap:.55rem}
.theme-toggle,.share-button,.mobile-nav summary{min-height:40px;border:1px solid var(--rule);border-radius:2px;background:transparent;color:var(--ink);padding:.42rem .62rem;font-size:.79rem;font-weight:650;white-space:nowrap}
.theme-toggle{display:inline-flex;align-items:center;gap:.4rem}
.share-button{display:inline-flex;align-items:center;justify-content:center;gap:.34rem;min-block-size:44px}
.share-icon{flex:none}
.header-share{background:var(--panel)}
.theme-toggle:hover,.share-button:hover,.mobile-nav summary:hover{background:var(--selected)}
.theme-symbol{color:var(--accent);font-size:1.03rem;line-height:1}
.mobile-nav{display:none}
.action{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:fit-content;border:1px solid var(--accent);border-radius:2px;min-height:40px;padding:.47rem .78rem;font-weight:650;font-size:.83rem;line-height:1.28}
.action.primary{background:var(--accent);color:var(--button-ink)}
.action.primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.action.secondary{border-color:var(--rule);color:var(--accent);background:transparent}
.action.secondary:hover{border-color:var(--accent);background:var(--selected)}
.text-link{display:inline-flex;align-items:baseline;gap:.38em;width:fit-content;border:0;padding:0;background:none;color:var(--accent);font-size:.88rem;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.text-link:hover{text-decoration-thickness:2px}
.kicker{font-size:.71rem;font-weight:700;letter-spacing:.09em;line-height:1.35;text-transform:uppercase;color:var(--accent)}
h1{font:400 clamp(3.9rem,7vw,7.65rem)/.91 var(--display);letter-spacing:-.044em;text-wrap:balance}
h2{font:400 clamp(2.1rem,4.15vw,4.25rem)/1 var(--display);letter-spacing:-.025em}
h3{font-size:1.04rem;line-height:1.28}
.page-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.45fr);align-items:end;gap:.7rem 1.5rem;padding-block:clamp(1.8rem,3.2vw,3.45rem) clamp(1.05rem,2vw,1.95rem)}
.page-intro h1,.case-heading h1{margin-top:.42rem}
.intro-aside,.case-heading>div+div{color:var(--muted);padding-bottom:.22rem}
.intro-aside p{max-width:25rem}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:.65rem 1.5rem;margin-bottom:.91rem}
.section-head p{color:var(--muted);max-width:28rem;font-size:.91rem}

.feature-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);border-bottom:0}
.feature-selector button{min-width:0;padding:.62rem .82rem;border:0;background:var(--panel);color:var(--ink);text-align:left;line-height:1.22}
.feature-selector button+button{border-left:1px solid var(--rule)}
.feature-selector button[aria-pressed=true]{background:var(--selected);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.feature-selector button:hover{background:var(--selected)}
.feature-selector button strong,.feature-selector button small{display:block}
.feature-selector button small{color:var(--muted);margin-top:.2rem}
.feature-panel{display:grid;grid-template-columns:minmax(0,1.31fr) minmax(0,.69fr);background:var(--panel);border:1px solid var(--rule)}
.feature-visual{min-width:0;border-right:1px solid var(--rule)}
.feature-visual figcaption{display:flex;justify-content:space-between;align-items:center;gap:.33rem .7rem;padding:.44rem .67rem;font-size:.83rem;font-weight:650}
.feature-visual figcaption .text-link{font-size:.8rem}
.device-composition{position:relative;aspect-ratio:1.79;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 70% 10%,var(--stage-glow),transparent 62%),linear-gradient(138deg,var(--stage-glow),var(--stage-dark) 77%)}
.device-composition::before,.device-composition::after{content:"";position:absolute;z-index:-1}
.device-composition::before{inset:0;background:repeating-linear-gradient(114deg,transparent 0 38px,#fff2db1a 39px,transparent 40px 73px);mask-image:linear-gradient(35deg,transparent 28%,#000)}
.device-composition::after{inset:83% -7% -15%;transform:skewY(-5deg);background:var(--stage-floor)}
.art-cedar-and-stripe{--stage-glow:#72856a;--stage-dark:#26392b;--stage-floor:#9b9d80}
.art-merit-and-maple{--stage-glow:#667ca4;--stage-dark:#292e4b;--stage-floor:#9593ad}
.desktop-shot,.phone-shot{position:absolute;overflow:hidden}
.desktop-shot{left:8%;top:11%;width:80%;border-radius:7px;background:#fff7ec;border:1px solid #4a3133;box-shadow:0 20px 38px #1f11186b}
.window-bar{display:flex;align-items:center;gap:.17rem;height:clamp(14px,2vw,21px);padding:0 .45rem;color:#615047;background:#fcf5e8;font-size:.59rem;line-height:1}
.window-bar i{width:.27rem;height:.27rem;border-radius:50%;background:#d1b9a1}
.window-bar i:first-child{background:#a96661}
.window-bar span{margin:auto;font-weight:650}
.phone-shot{right:7%;bottom:6%;width:21%;padding:.5%;border:1px solid #28191b;border-radius:9%/5%;background:#282023;box-shadow:0 12px 29px #210b1380}
.phone-shot img{border-radius:7%/4%;aspect-ratio:390/844;object-fit:cover}
.feature-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;min-width:0;gap:.48rem;padding:clamp(.82rem,2.35vw,1.95rem)}
.feature-copy>p:not(.kicker){font-size:.94rem;color:var(--muted)}
.feature-price{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .55rem;border-top:1px solid var(--rule);margin-top:.15rem;padding-top:.55rem;width:100%}
.feature-price h3{font-size:.74rem;color:var(--muted)}
.feature-price p{font-size:.89rem}
.feature-price strong{white-space:nowrap;color:var(--accent);font-size:.86rem}
.feature-price small,.feature-price .text-link{grid-column:1/-1}
.feature-price small{color:var(--muted)}
.feature-price .text-link{font-size:.79rem}
.portfolio-forward{display:flex;justify-content:space-between;align-items:center;gap:.55rem .85rem;border-bottom:1px solid var(--rule);padding:.72rem 0;margin-bottom:1.65rem}
.portfolio-forward p{font-size:.9rem;color:var(--muted)}

.home-services,.estimate-band,.process-band{background:var(--band);border-top:1px solid var(--rule);padding-block:1.65rem}
.service-grid,.service-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);background:var(--panel)}
.service-card,.service-detail{padding:clamp(.8rem,1.6vw,1.36rem)}
.service-card+.service-card,.service-detail+.service-detail{border-left:1px solid var(--rule)}
.service-card p,.service-detail p{margin:.35rem 0 .5rem;color:var(--muted);font-size:.9rem}
.service-details{margin-bottom:1.65rem}
.service-detail{scroll-margin-top:1rem}
.service-detail h2{font-size:clamp(2rem,3.1vw,3.1rem)}
.service-detail:target{background:var(--selected)}
.price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--rule);background:var(--panel)}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.35rem .9rem;padding:1rem}
.price-row:nth-child(even){border-left:1px solid var(--rule)}
.price-row:nth-child(n+3){border-top:1px solid var(--rule)}
.price-row p{margin-top:.24rem;color:var(--muted);font-size:.89rem}
.price-row strong{font:400 clamp(1.55rem,3vw,2.85rem)/1 var(--display);white-space:nowrap;color:var(--accent)}
.price-row .text-link{grid-column:1/-1;font-size:.82rem}

.portfolio-section{padding-bottom:1.7rem}
.portfolio-controls{display:flex;justify-content:space-between;align-items:center;gap:.5rem .85rem;padding:.58rem 0;border-block:1px solid var(--rule);margin-bottom:.8rem}
.portfolio-controls>div{display:flex;flex-wrap:wrap;gap:.23rem}
.portfolio-controls button,.demo-choices button,.demo-options button{padding:.38rem .58rem;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink);font-size:.83rem;font-weight:650}
.portfolio-controls button[aria-pressed=true],.demo-choices button[aria-pressed=true],.demo-options button[aria-pressed=true]{border-color:var(--accent);background:var(--selected);color:var(--accent)}
.portfolio-controls button:hover,.demo-choices button:hover,.demo-options button:hover{border-color:var(--rule)}
.result-count{font-size:.82rem;color:var(--muted);white-space:nowrap}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.74rem}
.portfolio-card{background:var(--panel);border:1px solid var(--rule);min-width:0}
.portfolio-image{display:block;overflow:hidden;border-bottom:1px solid var(--rule);background:var(--band)}
.portfolio-image img{aspect-ratio:1.75;object-fit:cover;object-position:center 30%;transition:transform .2s}
.portfolio-image:hover img{transform:scale(1.025)}
.portfolio-copy{padding:.74rem .8rem .86rem}
.portfolio-copy h2{margin:.25rem 0 .33rem;font-size:clamp(1.95rem,3vw,3rem)}
.portfolio-copy h2 a:hover{color:var(--accent)}
.portfolio-copy>p:not(.kicker){font-size:.89rem;color:var(--muted);margin-bottom:.42rem}

.studio-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(.9rem,4.5vw,3rem);padding-block:.3rem 1.65rem;align-items:stretch}
.studio-story>div{align-self:center}
.studio-story>div p{color:var(--muted);max-width:36rem;margin:.5rem 0 .65rem}
.studio-story figure{display:grid;place-items:center;gap:.6rem;background:var(--selected);border:1px solid var(--rule);padding:1.25rem}
.studio-story figure img{width:min(60%,16rem)}
.studio-story figcaption,.case-gallery figcaption{font-size:.8rem;color:var(--muted)}
.process-band ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.68rem 1rem;list-style:none;padding:0;margin-top:.9rem}
.process-band li{border-top:1px solid var(--rule);padding-top:.54rem}
.process-band li p{color:var(--muted);font-size:.89rem;margin-top:.27rem}

.inquiry-layout{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:1.15rem 1.75rem;padding-block:.25rem 1.65rem}
.inquiry-layout aside{background:var(--callout);color:var(--callout-ink);padding:1rem 1.2rem}
.inquiry-layout aside p{margin:.46rem 0 .72rem;color:var(--callout-muted)}
.inquiry-layout aside a{color:var(--callout-ink);overflow-wrap:anywhere}
.inquiry-links{border-top:1px solid #b08d9a;display:grid;gap:.55rem;margin-top:.95rem;padding-top:.7rem}
.inquiry-form{background:var(--panel);border:1px solid var(--rule);padding:1rem}
.form-note{color:var(--muted);font-size:.84rem;margin-bottom:.75rem}
.form-note a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.56rem .75rem;margin-bottom:.7rem}
.form-fields label{display:block;font-weight:650;font-size:.85rem;min-width:0}
.form-fields small{font-weight:400;color:var(--muted)}
.form-fields .full{grid-column:1/-1}
.form-fields :is(input,select,textarea){display:block;width:100%;min-width:0;min-height:40px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink);padding:.4rem .53rem;margin-top:.22rem;font-size:.89rem}
.form-fields textarea{resize:vertical}
.form-status:not(:empty){margin-top:.55rem;color:var(--accent);font-size:.87rem}
.form-email-fallback{margin-block-start:.25rem;min-block-size:44px;align-items:center}

.callout{background:var(--callout);color:var(--callout-ink);padding-block:1.37rem}
.callout>.page-width{display:flex;justify-content:space-between;align-items:center;gap:.7rem 1.2rem}
.callout p{color:var(--callout-muted);margin-top:.35rem;max-width:38rem}
.callout .action{background:var(--callout-btn);color:var(--callout-btn-ink);border-color:var(--callout-btn);flex:0 0 auto}
.callout .action:hover{background:var(--callout-ink);border-color:var(--callout-ink);color:var(--callout-btn-ink)}
.site-footer{border-top:1px solid var(--rule);background:var(--paper)}
.footer-inner{min-height:76px}
.footer-inner .studio-logo{width:75px}
.footer-inner>.text-link{font-size:.82rem}

.case-header{padding-top:1.05rem}
.case-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;gap:.7rem 1.35rem;margin:.65rem 0 .8rem}
.case-heading h1{font-size:clamp(3.65rem,7vw,7.6rem);text-wrap:initial}
.case-heading .action,.case-heading p+.text-link{margin-top:.52rem}
.case-content{padding-bottom:1.6rem}
.case-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.29fr);gap:.65rem;align-items:start}
.case-gallery img{border:1px solid var(--rule)}
.case-gallery figcaption{margin:.2rem 0 .6rem}
.case-notes{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:.7rem 1.7rem;border-top:1px solid var(--rule);padding:.75rem 0}
.case-notes h2,.case-demo h2,.case-demo-link h2{font-size:clamp(2rem,3.4vw,3.3rem)}
.case-notes p,.case-notes ul{color:var(--muted);margin:.34rem 0}
.case-notes ul{padding-left:1.15rem}
.next-project{display:flex;justify-content:space-between;align-items:center;gap:.65rem 1rem;border-top:1px solid var(--rule);padding-top:.73rem}
.case-demo,.case-demo-link{background:var(--band);border:1px solid var(--rule);padding:.85rem;margin:.45rem 0 .85rem}
.case-demo{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:.65rem 1.1rem}
.case-demo p,.case-demo-link p{color:var(--muted);margin:.35rem 0}
.case-demo-link .action{margin-top:.4rem}
.demo-panel{background:var(--panel);border:1px solid var(--rule);padding:.72rem;min-width:0}
.demo-options,.demo-choices{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.55rem}
.demo-tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:.45rem 0 0;gap:.3rem}
.demo-tags li{border:1px solid var(--rule);padding:.18rem .36rem;font-size:.77rem}
.demo-steps,.demo-result ol{padding-left:1.2rem;margin-top:.28rem}
.compare,.compare-frame{position:relative;isolation:isolate;overflow:hidden;--split:50%}
.compare-frame{--reveal:50%}
.compare img,.compare-frame img{aspect-ratio:1000/624;object-fit:cover}
.compare-before,.compare-after{position:absolute;inset:0}
.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.compare-after{clip-path:inset(0 0 0 calc(100% - var(--reveal)))}
.compare-line,.compare-divider{position:absolute;top:0;bottom:0;width:2px;background:white}
.compare-line{left:var(--split)}.compare-divider{left:calc(100% - var(--reveal))}
.compare-tag,.compare-caption{position:absolute;top:.45rem;right:.45rem;padding:.15rem .38rem;background:#281a22;color:#fff;font-size:.72rem}
.before-tag,.compare-caption-before{right:auto;left:.45rem}
.compare-control{margin-top:.4rem}
.compare-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--accent)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

dialog{width:min(94vw,640px);max-height:88vh;overflow:auto;padding:0;border:1px solid var(--rule);border-radius:3px;color:var(--ink);background:var(--panel)}
dialog::backdrop{background:#180e16bb}
.dialog-head{display:flex;justify-content:space-between;gap:.6rem;padding:.72rem .9rem;border-bottom:1px solid var(--rule)}
.dialog-head h2{font-size:clamp(2.35rem,5vw,3.5rem)}
.dialog-head button{border:1px solid var(--rule);border-radius:50%;background:var(--paper);color:var(--ink);width:38px;height:38px;font-size:1.3rem;line-height:1}
.dialog-body{padding:.8rem .9rem}
.demo-result{padding:.64rem;background:var(--selected);margin:.45rem 0 .56rem}
.demo-result p{margin-top:.28rem}

@media(max-width:1050px){.page-width{width:calc(100% - 3rem)}}
@media(max-width:825px){
  .page-intro{grid-template-columns:1fr}
  .intro-aside p{max-width:40rem}
  .feature-panel{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .desktop-nav{display:none}
  .mobile-nav{display:block;position:relative}
  .mobile-nav summary{display:flex;align-items:center;list-style:none}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav nav{position:absolute;right:0;top:calc(100% + .45rem);min-width:10rem;background:var(--panel);border:1px solid var(--rule);padding:.36rem;box-shadow:0 12px 26px #26171f30}
  .mobile-nav nav a{display:block;padding:.42rem .55rem}
  .mobile-nav nav a:hover{background:var(--selected)}
  .masthead-inner{min-height:73px}
  .studio-logo{width:78px}
  .price-row{gap:.27rem .5rem;padding:.65rem}
  .price-row h3{font-size:.92rem}
}
@media(max-width:570px){
  .page-width{width:calc(100% - 2rem)}
  .header-actions>.action{display:none}
  .masthead-inner,.footer-inner{gap:.55rem}
  .header-actions{gap:.4rem}
  .footer-inner{display:grid;grid-template-columns:auto 1fr;padding-block:.55rem}
  .footer-inner nav{justify-content:end;flex-wrap:wrap;gap:.23rem .64rem}
  .footer-inner nav a{font-size:.76rem}
  .footer-inner>.text-link{grid-column:2;justify-self:end}
  h1,.case-heading h1{font-size:clamp(3.35rem,11vw,5.5rem);text-wrap:initial}
  .page-intro{padding-block:1.27rem 1rem}
  .feature-panel,.studio-story,.case-heading,.case-demo,.case-notes,.inquiry-layout{grid-template-columns:1fr}
  .feature-selector button{padding:.42rem .35rem}
  .feature-selector button strong{font-size:.82rem}
  .feature-selector button small{font-size:.66rem}
  .feature-visual{border-right:0;border-bottom:1px solid var(--rule)}
  .feature-copy{padding:.66rem .72rem}
  .portfolio-forward{margin-bottom:1rem}
  .portfolio-forward p{font-size:.81rem}
  .portfolio-forward .action{font-size:.74rem}
  .home-services,.estimate-band,.process-band,.callout{padding-block:1.05rem}
  .service-grid,.service-details{grid-template-columns:1fr}
  .service-card+.service-card,.service-detail+.service-detail{border-left:0;border-top:1px solid var(--rule)}
  .section-head,.callout>.page-width{flex-wrap:wrap;align-items:start}
  .price-row{grid-template-columns:1fr}
  .price-row strong{font-size:1.56rem}
  .portfolio-controls{flex-wrap:wrap}
  .portfolio-controls button{font-size:.76rem;padding:.28rem .43rem}
  .portfolio-grid{gap:.49rem}
  .portfolio-copy{padding:.48rem .5rem .58rem}
  .portfolio-copy h2{font-size:clamp(1.62rem,5.35vw,2.6rem)}
  .portfolio-copy .kicker{font-size:.59rem}
  .portfolio-copy>p:not(.kicker),.portfolio-copy .text-link{font-size:.79rem}
  .process-band ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-heading{margin-top:.52rem}
}
@media(max-width:355px){
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-image img{aspect-ratio:1.8}
  .next-project{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

.theme-toggle,.share-button{min-height:44px}
.form-fields label span,.field-help{color:var(--muted);font-weight:400}
.field-help{display:block;margin-top:.2rem;font-size:.8rem}
.form-fields :is(input,select,textarea){border-color:var(--field-rule,#866771)}
:root[data-theme=dark]{--field-rule:#a4828e}
.receipt{padding-block:clamp(2rem,7vw,6rem)}
.receipt h1{margin:.3rem 0 .75rem}
.receipt p:not(.kicker){max-width:39rem;color:var(--muted)}
.receipt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.15rem}
@media(max-width:340px){.theme-toggle{padding-inline:.45rem}}

.share-dialog{width:min(94vw,420px)}
.share-dialog .dialog-head{align-items:center}
.share-dialog .dialog-head h2{font-size:clamp(2rem,7vw,2.6rem)}
.share-dialog .dialog-head button{width:44px;height:44px}
.share-dialog label{display:block;margin-bottom:.35rem;font-size:.86rem;font-weight:650}
.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}
.share-link-row input{width:100%;min-width:0;border:1px solid var(--rule);border-radius:2px;padding:.45rem .55rem;background:var(--paper);color:var(--ink);font-size:.84rem}
.share-link-row button{min-height:44px;white-space:nowrap}
.share-status{min-height:1.5em;margin-top:.3rem;color:var(--muted);font-size:.84rem}
@media(max-width:375px){
  .header-share{min-inline-size:44px;padding-inline:.45rem}
  .header-share span{display:none}
  .share-link-row{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:721px) and (max-width:850px){
  .masthead-with-share{gap:.65rem}
  .masthead-with-share .desktop-nav{gap:.75rem}
  .masthead-with-share .header-actions{gap:.4rem}
  .masthead-with-share .header-actions>.action{white-space:nowrap}
}
