@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{font-family:'DM Sans',Arial,sans-serif;color:#171715;background:#f2f0eb;font-size:16px;line-height:1.5;font-synthesis:none;--ink:#171715;--red:#d3272d;--paper:#f2f0eb;--line:#c9c6bf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:50}.skip-link:focus{top:1rem}
.container{width:min(100% - 4rem,1460px);margin-inline:auto}
.site-header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid var(--ink)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;flex:none}.brand img{width:180px;height:60px;object-fit:contain;object-position:center}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.3rem,3vw,3.2rem);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.desktop-nav a{position:relative;padding:.5rem 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}
.desktop-nav .nav-contact{border:1px solid var(--ink);padding:.8rem 1.05rem}.desktop-nav .nav-contact:after{display:none}.desktop-nav .nav-contact:hover,.desktop-nav .nav-contact[aria-current=page]{background:var(--ink);color:#fff}
.mobile-nav{display:none}
.eyebrow,.hero-kicker,.hero-topline,.hero-bottom,.service-number,.detail-index{font-size:.68rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.eyebrow{color:var(--red);margin:0 0 2rem}.eyebrow.light{color:#fff}
h1,h2,h3,.site-footer,.hero-index{font-family:'Space Grotesk',Arial,sans-serif}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{font-weight:700}
h2 em,h1 em{font-style:normal;color:var(--red)}
.hero{background:var(--paper);overflow:hidden}
.hero-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}
.hero-topline{height:50px;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--line)}
.hero-stage{min-height:min(650px,65vw);position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;padding:6.5rem 4.2% 5rem}
.hero-stage:before,.hero-stage:after{content:'';position:absolute;inset:0 auto 0 33.333%;width:1px;background:var(--line);z-index:-2}.hero-stage:after{left:66.666%}
.hero-kicker{position:absolute;top:3rem;left:4.2%;margin:0;z-index:3}.hero-kicker span{color:var(--red)}
.hero-visual{position:absolute;z-index:-1;top:3%;bottom:0;left:39%;width:38%;overflow:hidden;transform:rotate(-3deg);box-shadow:20px 30px 0 #1717150c}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.96)}
.hero-stage h1{position:relative;z-index:2;font-size:clamp(4.8rem,10vw,11.8rem);line-height:.83;letter-spacing:-.105em;margin:0;max-width:1250px;text-transform:uppercase}
.hero-stage h1 em{display:inline-block;color:var(--red)}
.hero-index{position:absolute;top:16%;right:3.3%;font-size:clamp(5rem,14vw,13rem);font-weight:700;line-height:1;letter-spacing:-.15em;writing-mode:vertical-rl;transform:rotate(180deg);color:transparent;-webkit-text-stroke:1px var(--ink);opacity:.65}
.hero-bottom{min-height:110px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem 1.5rem}
.hero-bottom p{max-width:430px;margin:0;font-size:.93rem;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:500}
.circle-link{width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;flex:none;font-size:1.8rem;line-height:1;transition:background .25s,color .25s,transform .25s}.circle-link:hover{background:var(--ink);color:#fff;transform:rotate(45deg)}
.section{padding:clamp(6rem,10vw,10rem) 0}
.intro{background:var(--ink);color:#f9f7f3}
.intro-grid{display:grid;grid-template-columns:1fr 2.2fr;gap:4rem}.intro .eyebrow{color:#f65c61}
.intro h2,.section-heading h2,.approach h2,.about-statement h2,.contact-content h2{font-size:clamp(3.6rem,7.2vw,8.5rem);line-height:.97;letter-spacing:-.085em;margin:0;text-transform:uppercase}
.intro h2 em{color:#f65c61}
.intro p:not(.eyebrow){max-width:650px;font-size:clamp(1.08rem,1.55vw,1.35rem);line-height:1.6;color:#c9c6c2;margin:2.8rem 0 0}
.services-preview{background:#f8f7f3}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:4.5rem}.section-heading h2{font-size:clamp(4rem,8.5vw,10rem)}
.text-link{display:inline-flex;align-items:center;gap:1.2rem;border-bottom:1px solid currentColor;padding-bottom:.45rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;transition:color .2s}.text-link:hover{color:var(--red)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.service-card{position:relative;min-height:360px;padding:1.5rem;display:flex;flex-direction:column;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:background .25s,color .25s}
.service-card:hover{background:var(--red);color:#fff}.service-number{color:var(--red)}.service-card:hover .service-number{color:#fff}
.service-card h3{font-size:clamp(1.7rem,2.8vw,3.5rem);line-height:1;letter-spacing:-.07em;margin:auto 0 1.2rem}
.service-card p{max-width:250px;margin:0;color:#68645f;font-size:.93rem}.service-card:hover p{color:#fff}
.card-arrow{position:absolute;right:1.5rem;top:1.1rem;font-size:1.5rem;line-height:1}
.approach{background:#e4e1db}.approach-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:clamp(4rem,9vw,10rem)}.approach h2{font-size:clamp(3.4rem,6.2vw,7.4rem)}
.approach-copy{align-self:end;border-top:1px solid var(--ink);padding-top:1.5rem}.approach-copy p,.about-statement p:not(.eyebrow){font-size:1.12rem;line-height:1.7;color:#46433f;margin:0 0 2.8rem}
.contact-band{background:var(--red);color:#fff;padding:clamp(5rem,8vw,8rem) 0}.contact-band-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.contact-band h2{max-width:1080px;font-size:clamp(3.8rem,7.8vw,9rem);line-height:.92;letter-spacing:-.085em;text-transform:uppercase;margin:0}.contact-band h2 em{color:var(--ink)}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2.5rem;min-height:60px;padding:1rem 1.4rem;font-weight:700;font-size:.77rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:background .2s,color .2s}.button-white{background:#fff;color:var(--ink)}.button-white:hover{background:var(--ink);color:#fff}.button-red{background:var(--red);color:#fff}.button-red:hover{background:var(--ink)}
.site-footer{background:var(--ink);color:#fff}.footer-inner{min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-inner>span{font-size:clamp(1.4rem,2.5vw,2.6rem);letter-spacing:-.08em;font-weight:700}.footer-inner .red{color:#f04a50}.footer-inner p{font-family:'DM Sans',Arial,sans-serif;color:#b8b5ae;font-size:.86rem}.footer-inner a{font:700 .76rem 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #fff;padding-bottom:.35rem}.footer-inner a:hover{color:#f04a50}

/* Interior pages */
.inner-hero{position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--ink);padding:clamp(6rem,11vw,11rem) 0 clamp(6rem,9vw,9rem)}
.inner-hero:after{content:'470';position:absolute;right:-.01em;bottom:-.34em;font:700 clamp(16rem,37vw,38rem)/1 'Space Grotesk',Arial,sans-serif;letter-spacing:-.15em;color:#e6e2da;pointer-events:none}
.inner-hero .container{position:relative;z-index:1}.inner-hero h1{max-width:1200px;font-size:clamp(4rem,9vw,10.5rem);line-height:.88;letter-spacing:-.09em;text-transform:uppercase;margin:0}.inner-hero p:not(.eyebrow){font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:580px;margin:3.5rem 0 0}.inner-hero .eyebrow.light{color:var(--red)}
.service-detail{background:#f8f7f3}.detail-row{display:grid;grid-template-columns:.65fr 2.1fr 1fr;gap:2rem;padding:4.2rem 0;border-top:1px solid var(--ink);scroll-margin-top:1rem}.detail-row:last-child{border-bottom:1px solid var(--ink)}.detail-index{color:var(--red);padding-top:.5rem}.detail-row h2{font-size:clamp(2.8rem,5.3vw,6rem);line-height:.97;letter-spacing:-.075em;text-transform:uppercase;margin:0 0 1.3rem}.detail-row p{max-width:530px;color:#65615b;font-size:1.08rem;margin:0}.detail-row ul{list-style:none;margin:0;padding:0}.detail-row li{border-bottom:1px solid var(--line);padding:.8rem 0;font-size:.87rem;font-weight:600}.detail-row li:first-child{border-top:1px solid var(--line)}
.about-statement{background:var(--ink);color:#fff}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.about-statement .eyebrow{color:#f65c61}.about-statement h2{margin-bottom:3rem}.about-statement p:not(.eyebrow){max-width:740px;color:#ccc8c2}
.principles{background:#f8f7f3}.principles h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.95;letter-spacing:-.08em;text-transform:uppercase;margin:0 0 4rem}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.principles-grid>div{min-height:310px;display:flex;flex-direction:column;padding:1.5rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.principles-grid span{font-size:.68rem;letter-spacing:.19em;font-weight:700;color:var(--red)}.principles-grid h3{font-size:clamp(2rem,3vw,3.6rem);line-height:1;letter-spacing:-.07em;margin:auto 0 1rem}.principles-grid p{color:#69655f;max-width:220px;font-size:.94rem;margin:0}
.contact-hero{background:var(--red);color:#fff}.contact-hero:after{color:#ffffff18}.contact-hero .eyebrow.light{color:#fff}
.contact-content{background:#f8f7f3}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(4rem,10vw,12rem)}.contact-content h2{font-size:clamp(3.3rem,6.2vw,7rem)}.contact-methods{padding-top:2.5rem}.contact-method{display:grid;grid-template-columns:1fr auto;gap:.4rem;padding:1.4rem 0;border-top:1px solid var(--ink)}.contact-method:last-of-type{border-bottom:1px solid var(--ink)}.contact-method span:first-child{grid-column:1;grid-row:1;color:var(--red);font-size:.68rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase}.contact-method strong{grid-column:1;grid-row:2;font:700 clamp(1.55rem,2.6vw,3rem)/1.1 'Space Grotesk',Arial,sans-serif;letter-spacing:-.055em}.contact-method span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:1.8rem}.contact-method:hover strong{color:var(--red)}.contact-methods>p{font-size:.88rem;color:#65615b;margin-top:2rem}

@media(max-width:1100px){.hero-stage{min-height:620px}.hero-visual{left:42%;width:43%}.hero-stage h1{font-size:clamp(5rem,11vw,9rem)}.service-grid,.principles-grid{grid-template-columns:repeat(2,1fr)}.detail-row{grid-template-columns:.6fr 2fr}.detail-row ul{grid-column:2}.approach-grid{grid-template-columns:1.2fr .8fr}}
@media(max-width:720px){.container{width:min(100% - 2rem,1460px)}.header-inner{min-height:74px}.brand img{width:124px;height:58px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.mobile-nav summary{list-style:none;cursor:pointer;padding:.8rem 0}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{margin-left:.5rem;font-size:1.1rem}.mobile-nav nav{position:absolute;right:-1rem;top:calc(100% + 10px);width:min(90vw,290px);display:flex;flex-direction:column;padding:.8rem;background:#f8f7f3;border:1px solid var(--ink);box-shadow:8px 8px 0 #17171522}.mobile-nav nav a{padding:.8rem;border-bottom:1px solid var(--line)}.mobile-nav nav a:last-child{border-bottom:0}.mobile-nav nav a[aria-current=page]{color:var(--red)}.hero-topline{height:44px;padding:0 .75rem;font-size:.52rem;letter-spacing:.1em}.hero-stage{min-height:690px;padding:5rem .75rem 3.5rem;align-items:flex-end}.hero-kicker{top:1.6rem;left:.75rem;right:.75rem;font-size:.58rem}.hero-visual{top:13%;left:25%;width:69%;height:62%;bottom:auto;transform:rotate(-4deg)}.hero-stage h1{font-size:clamp(3.6rem,13vw,6rem);line-height:.86;letter-spacing:-.105em}.hero-index{font-size:6rem;top:19%;right:auto;left:1%;opacity:.42}.hero-bottom{min-height:96px;padding:1rem .75rem}.hero-bottom p{font-size:.78rem;max-width:245px}.circle-link{width:48px;height:48px}.section{padding:5.5rem 0}.intro-grid,.about-grid,.approach-grid,.contact-grid{display:block}.intro .eyebrow,.about-statement .eyebrow{margin-bottom:3rem}.intro h2,.section-heading h2,.approach h2,.about-statement h2,.contact-content h2{font-size:clamp(3.25rem,12vw,5.2rem)}.intro p:not(.eyebrow){margin-top:2rem}.section-heading{display:block;margin-bottom:3rem}.section-heading .text-link{margin-top:2.5rem}.service-grid,.principles-grid{grid-template-columns:1fr}.service-card{min-height:250px}.service-card h3{font-size:2.6rem}.approach-copy{margin-top:3rem}.contact-band-inner{display:block}.contact-band h2{font-size:clamp(3.4rem,12vw,6rem);margin-bottom:3rem}.footer-inner{min-height:0;padding:2.5rem 0;display:grid;grid-template-columns:1fr auto;gap:1.5rem}.footer-inner p{grid-column:1/-1;grid-row:2;margin:0}.inner-hero{padding:5rem 0 7rem}.inner-hero:after{font-size:16rem;bottom:-.36em}.inner-hero h1{font-size:clamp(2.8rem,10vw,4.5rem)}.inner-hero p:not(.eyebrow){margin-top:2.5rem}.detail-row{display:block;padding:3rem 0}.detail-row h2{margin-top:1.5rem}.detail-row ul{margin-top:2rem}.principles-grid>div{min-height:220px}.contact-methods{padding-top:3rem}}
@media(max-width:420px){.hero-stage{min-height:590px}.hero-visual{top:13%;height:60%}.hero-stage h1{font-size:12.7vw}.hero-topline span:last-child{display:none}.hero-bottom p{max-width:215px}.footer-inner a{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Progressive enhancement: without JavaScript, every section stays visible. */
@media(prefers-reduced-motion:no-preference){
  .has-motion .motion-item{opacity:0;transform:translate3d(0,20px,0);transition:opacity .4s ease,transform .4s cubic-bezier(.2,.75,.2,1);transition-delay:var(--motion-delay,0ms)}
  .has-motion .motion-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
  .has-motion .motion-section{position:relative}
  .has-motion .motion-section:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);z-index:2;pointer-events:none;transform:scaleX(0);transform-origin:left center;transition:transform 1s cubic-bezier(.2,.75,.2,1)}
  .has-motion .motion-section.is-visible:before{transform:scaleX(1)}
  .has-motion .contact-band.motion-section:before{background:#fff}
  .has-motion .hero-visual{animation:hero-unveil 1.15s cubic-bezier(.2,.75,.2,1) both}
  .has-motion .hero-visual img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.05);will-change:transform}
  .has-motion .hero-kicker{animation:fade-rise .65s .1s both}
  .has-motion .hero-stage h1{animation:fade-rise .85s .24s both}
  .has-motion .hero-index{animation:fade-in 1.1s .55s both}
  .has-motion .inner-hero .eyebrow{animation:fade-rise .6s .05s both}
  .has-motion .inner-hero h1{animation:fade-rise .8s .16s both}
  .has-motion .inner-hero p:not(.eyebrow){animation:fade-rise .8s .32s both}
  @keyframes hero-unveil{from{opacity:.7;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
  @keyframes fade-rise{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes fade-in{from{opacity:0}to{opacity:.65}}
}

/* Additional editorial imagery and scroll-linked stage */
.media-window{position:relative;overflow:hidden;margin:0;background:#dfd9cf}
.media-window img{width:100%;height:100%;object-fit:cover}
.services-art{height:clamp(330px,42vw,590px);margin:0 0 2rem;border:1px solid var(--ink)}
.services-art figcaption{position:absolute;inset:auto 1.4rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 8px #000a}
.services-art:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#17171566);pointer-events:none}
.services-art figcaption{z-index:1}
.interior-art{height:clamp(310px,43vw,610px);border-bottom:1px solid var(--ink)}
.interior-art figcaption{position:absolute;bottom:1.5rem;left:clamp(1rem,4vw,4rem);background:var(--paper);color:var(--ink);padding:.8rem 1rem;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.about-art{background:#171715}.about-art figcaption{background:var(--red);color:#fff}
.visual-interlude{height:145vh;background:#171715;position:relative;color:#fff}
.visual-interlude__frame{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate;background:#171715}
.visual-interlude__frame img{width:100%;height:100%;object-fit:cover}
.visual-interlude__frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 60%,#0003);pointer-events:none}
.visual-interlude__overlay{position:absolute;z-index:1;inset:0;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(1.5rem,5vw,5rem);pointer-events:none}
.visual-interlude__label{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.visual-interlude__number{font:700 clamp(10rem,31vw,34rem)/.68 'Space Grotesk',Arial,sans-serif;letter-spacing:-.16em;color:#ffffffd9;margin-right:clamp(1rem,3vw,3rem)}
@media(prefers-reduced-motion:no-preference){
  .has-motion .media-window[data-reveal-media] img{clip-path:inset(0 8% 0 0);transition:clip-path .4s cubic-bezier(.2,.75,.2,1)}
  .has-motion .media-window[data-reveal-media].is-revealed img{clip-path:inset(0 0 0 0)}
  .has-motion .about-art[data-reveal-media] img{clip-path:inset(0 0 0 8%)}
  .has-motion .media-window[data-reveal-media] figcaption{opacity:0;transition:opacity .3s .1s}
  .has-motion .media-window[data-reveal-media].is-revealed figcaption{opacity:1}
  .has-motion .services-art img,.has-motion .interior-art img{transform:translate3d(0,var(--media-shift,0px),0) scale(1.12);will-change:transform}
  .has-motion .visual-interlude__frame{clip-path:inset(var(--stage-inset,9%));transform:scale(var(--stage-scale,.9));will-change:clip-path,transform}
  .has-motion .visual-interlude__frame img{transform:translate3d(0,var(--stage-shift,0px),0) scale(1.13);will-change:transform}
}
@media(max-width:720px){
  .services-art{height:360px;margin-bottom:1.3rem}.services-art img{object-position:57% center}
  .services-art figcaption{inset:auto .8rem .8rem;font-size:.55rem;letter-spacing:.08em}
  .interior-art{height:340px}.interior-art figcaption{font-size:.58rem}
  .visual-interlude{height:112vh}.visual-interlude__frame{height:100svh}
  .visual-interlude__overlay{display:block;padding:0}.visual-interlude__label{position:absolute;left:1.2rem;top:1.2rem;font-size:.55rem;max-width:none}
  .visual-interlude__number{position:absolute;right:3.5rem;bottom:1.4rem;font-size:29vw;white-space:nowrap;margin-right:0}
}
@media(prefers-reduced-motion:reduce){.visual-interlude{height:75vh}.visual-interlude__frame{position:relative;height:75vh}}

/* Editorial narrative inspired by the reference's pacing, with Garagem470's own imagery. */
.scroll-rail{position:fixed;z-index:30;left:1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.7rem;color:var(--red);font:700 .58rem 'Space Grotesk',Arial,sans-serif;letter-spacing:.08em;pointer-events:none;text-shadow:0 1px 5px #fff}
.scroll-rail i{display:block;width:2px;height:80px;background:linear-gradient(to bottom,var(--red) 0 var(--scroll-progress,0%),#a9a49a var(--scroll-progress,0%) 100%)}
.hero{background:#171715}
.hero-shell{width:100%;max-width:none;border:0}
.hero-topline{position:absolute;left:0;right:0;z-index:4;border-color:#ffffff4a;color:#fff;padding-inline:clamp(1.5rem,5vw,6rem);text-shadow:0 1px 8px #0008}
.hero-stage{min-height:max(650px,calc(100svh - 88px));padding:7rem clamp(1.5rem,5vw,6rem) 5rem;align-items:flex-end;background:#201e1d}
.hero-stage:before,.hero-stage:after{display:none}
.hero-visual{inset:0;width:100%;height:100%;transform:none;box-shadow:none;z-index:-1}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100e0dba 0%,#100e0d47 50%,#100e0d38 100%),linear-gradient(0deg,#100e0db0,transparent 55%)}
.hero-visual img{object-position:center 45%;filter:saturate(.94) contrast(1.04)}
.hero-kicker{top:6.2rem;left:clamp(1.5rem,5vw,6rem);color:#fff;text-shadow:0 1px 8px #0008}
.hero-kicker span{color:#ff686b}
.hero-stage h1{color:#fff;font-size:clamp(4.6rem,12.5vw,13.4rem);max-width:1350px;letter-spacing:-.105em;text-shadow:0 2px 25px #0005}
.hero-stage h1 em{color:#ff5359}
.hero-marker{position:absolute;top:6.2rem;right:clamp(1.5rem,5vw,6rem);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.18em;text-shadow:0 1px 8px #0008}
.hero-index{right:clamp(1.5rem,5vw,6rem);top:auto;bottom:3.5rem;font-size:clamp(3rem,8vw,8rem);writing-mode:initial;transform:none;-webkit-text-stroke:1px #fff;color:transparent;opacity:.55;letter-spacing:-.11em}
.hero-bottom{background:var(--paper);padding-inline:clamp(1.5rem,5vw,6rem)}
.intro{background:#fbfaf7;color:var(--ink);overflow:hidden}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,6rem);align-items:center}
.intro-copy{position:relative;z-index:2}.intro .eyebrow{color:var(--red)}
.intro h2{font-size:clamp(3.7rem,6.6vw,7.5rem)}.intro h2 em{color:var(--red)}
.intro p:not(.eyebrow){color:#56514a;max-width:610px;margin:2.2rem 0 2.5rem}
.intro-collage{min-height:clamp(560px,54vw,760px);position:relative}
.intro-photo{position:absolute;margin:0;overflow:hidden;background:#dedbd3;box-shadow:20px 25px 0 #17171511}
.intro-photo img{width:100%;height:100%;object-fit:cover}
.intro-photo--back{width:69%;height:68%;right:0;top:0;clip-path:polygon(0 0,91% 0,100% 11%,100% 100%,0 100%)}
.intro-photo--front{width:70%;height:58%;left:0;bottom:1rem;clip-path:polygon(0 0,100% 0,100% 88%,89% 100%,0 100%)}
.intro-collage__caption{position:absolute;right:0;bottom:0;color:#68635b;font-size:.62rem;letter-spacing:.18em;font-weight:700}
.services-preview{background:#f2f0eb}.services-art{height:clamp(420px,48vw,690px);border:0}
.services-art img{object-position:center}.services-art:after{inset:35% 0 0;background:linear-gradient(transparent,#0807079c)}
.services-art figcaption{font-size:.72rem;bottom:2rem;left:2rem;right:2rem}
.visual-interlude{height:165vh}
.visual-interlude__frame:after{background:linear-gradient(90deg,#080707b8,#0807071f 72%),linear-gradient(0deg,#080707b8,transparent 56%)}
.visual-interlude__frame img{object-position:center}
.visual-interlude__overlay{display:block;padding:clamp(1.5rem,5vw,5rem)}
.visual-interlude__label{position:absolute;top:clamp(1.5rem,5vw,5rem);left:clamp(1.5rem,5vw,5rem)}
.visual-interlude__statement{position:absolute;left:clamp(1.5rem,5vw,5rem);bottom:clamp(3rem,8vw,7rem);font:700 clamp(3.4rem,8vw,9rem)/.95 'Space Grotesk',Arial,sans-serif;letter-spacing:-.085em;text-transform:uppercase;max-width:1150px;text-wrap:balance}
.visual-interlude__statement span{color:#ff5359}
.visual-interlude__number{position:absolute;right:clamp(2rem,5vw,5rem);top:clamp(2rem,5vw,5rem);font-size:clamp(4rem,10vw,10rem);line-height:1;color:transparent;-webkit-text-stroke:1px #fff8}
.outcome{background:#fff;color:var(--ink);overflow:hidden}
.outcome-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr);gap:clamp(2rem,6vw,7rem)}
.outcome-heading{grid-column:1/-1}.outcome h2{font-size:clamp(3.5rem,7.5vw,8.8rem);line-height:.94;letter-spacing:-.085em;text-transform:uppercase;margin:0}.outcome h2 em{color:var(--red)}
.outcome-photo{grid-column:2;grid-row:2;height:clamp(430px,50vw,700px);clip-path:polygon(0 0,94% 0,100% 8%,100% 100%,0 100%)}
.outcome-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0008)}
.outcome-photo figcaption{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.16em}
.outcome-note{grid-column:1;grid-row:2;align-self:end;max-width:470px;font-size:clamp(1.1rem,1.65vw,1.45rem);line-height:1.55;border-top:1px solid var(--ink);padding-top:1.5rem;margin:0 0 2rem}
.footer-masthead{font:700 clamp(13rem,43vw,46rem)/.7 'Space Grotesk',Arial,sans-serif;letter-spacing:-.17em;white-space:nowrap;overflow:hidden;color:#fff;padding:0 .02em .1em;user-select:none}
.footer-masthead span{color:#ed4147}
.footer-inner .footer-brand{letter-spacing:-.17em;white-space:nowrap}.footer-inner .footer-brand span{color:#ed4147}
@media(prefers-reduced-motion:no-preference){
  .has-motion .intro-photo{opacity:1;transform:translate3d(0,18px,0) scale(.98);transition:transform .4s cubic-bezier(.2,.75,.2,1)}
  .has-motion .intro-photo--front{transition-delay:.05s}
  .has-motion .intro-photo.is-revealed{opacity:1;transform:translate3d(0,0,0) scale(1)}
  .has-motion .hero-visual{animation:hero-wide-unveil 1.25s cubic-bezier(.2,.75,.2,1) both}
  .has-motion .hero-visual img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.08)}
  .has-motion .outcome-photo img{transform:translate3d(0,var(--media-shift,0px),0) scale(1.12);will-change:transform}
  @keyframes hero-wide-unveil{from{opacity:.65;clip-path:inset(0 0 100% 0);transform:scale(1.06)}to{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1)}}
}
@media(max-width:1100px){.intro-grid{gap:2rem}.intro-collage{min-height:580px}.hero-stage h1{font-size:clamp(5rem,12vw,9rem)}}
@media(max-width:720px){
  .scroll-rail{display:none}.hero-topline{padding-inline:1rem}.hero-stage{min-height:calc(100svh - 74px);max-height:900px;padding:7rem 1rem 3rem}.hero-kicker{top:5rem;left:1rem;right:1rem;font-size:.55rem}.hero-marker{top:auto;bottom:1.4rem;left:1rem;right:auto;font-size:.52rem}.hero-stage h1{font-size:clamp(3.7rem,15vw,6.7rem);margin-bottom:3rem}.hero-index{display:none}.hero-visual img{object-position:60% center}.hero-bottom{padding-inline:1rem}
  .intro-grid{display:block}.intro h2{font-size:clamp(3.2rem,11vw,5.4rem)}.intro-collage{min-height:510px;margin-top:3rem}.intro-photo--back{width:73%;height:65%}.intro-photo--front{width:76%;height:57%}.intro-collage__caption{font-size:.5rem}
  .services-art{height:410px}.services-art figcaption{left:1rem;right:1rem;bottom:1rem;font-size:.55rem}
  .visual-interlude{height:125vh}.visual-interlude__statement{font-size:clamp(3rem,11vw,5.2rem);left:1rem;right:1rem;bottom:4rem}.visual-interlude__label{left:1rem;top:1rem}.visual-interlude__number{right:1rem;top:1rem;font-size:5rem}
  .outcome-grid{display:block}.outcome h2{font-size:clamp(3.1rem,10.5vw,5.5rem)}.outcome-photo{height:440px;margin:3rem 0 0}.outcome-note{margin:2rem 0 0}.footer-masthead{font-size:48vw}
}
@media(max-width:420px){.hero-stage h1{font-size:14.3vw}.intro-collage{min-height:420px}.outcome-photo{height:360px}}
@media(prefers-reduced-motion:reduce){.visual-interlude{height:75vh}.visual-interlude__statement{bottom:2rem}.scroll-rail{display:none}}

/* Four photographic service chapters */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;border:0}
.service-card{display:block;min-height:0;padding:0;overflow:hidden;border:1px solid var(--ink);background:#fbfaf7}
.service-card__media{display:block;height:clamp(260px,31vw,430px);overflow:hidden;background:#d7d2c9}
.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.service-card:hover .service-card__media img{transform:scale(1.055)}
.service-card__body{position:relative;display:flex;flex-direction:column;min-height:250px;padding:1.5rem 1.7rem 1.7rem}
.service-card .service-number{font-size:.75rem}
.service-card h3{font-size:clamp(2.3rem,3.7vw,4.4rem);margin:1.6rem 3rem .9rem 0;line-height:.97}
.service-card p{font-size:1rem;max-width:410px;padding-right:2rem}
.service-card .card-arrow{top:auto;bottom:1.4rem;right:1.5rem}
.detail-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.05fr) minmax(190px,.8fr);align-items:start;gap:clamp(1.2rem,2.5vw,2.5rem)}
.detail-row h2{font-size:clamp(2.7rem,4vw,4.5rem)}
.detail-media{margin:0;overflow:hidden;background:#d7d2c9;aspect-ratio:4/3}
.detail-media img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:no-preference){
  .has-motion .service-card__media img,.has-motion .detail-media img{clip-path:inset(0 8% 0 0);transition:clip-path .4s cubic-bezier(.2,.75,.2,1),transform .4s cubic-bezier(.2,.75,.2,1)}
  .has-motion .service-card__media.is-revealed img,.has-motion .detail-media.is-revealed img{clip-path:inset(0 0 0 0)}
  .has-motion .service-card:hover .service-card__media.is-revealed img{transform:scale(1.055)}
}
@media(max-width:1100px){
  .detail-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .detail-row>div{grid-column:1;grid-row:1}
  .detail-row .detail-media{grid-column:2;grid-row:1/3}
  .detail-row ul{grid-column:1;grid-row:2}
}
@media(max-width:720px){
  .service-grid{grid-template-columns:1fr;gap:1rem}
  .service-card__media{height:260px}
  .service-card__body{min-height:225px;padding:1.25rem}
  .service-card h3{font-size:clamp(2.2rem,9vw,3.4rem);margin:1.3rem 2rem .8rem 0}
  .service-card p{font-size:.96rem}
  .detail-row{display:block}
  .detail-media{margin-top:2rem;aspect-ratio:1.25}
  .detail-row ul{margin-top:2rem}
}
@media(hover:none){
  .service-card:hover{background:#fbfaf7;color:var(--ink)}
  .service-card:hover .service-number{color:var(--red)}
  .service-card:hover p{color:#68645f}
  .service-card:hover .service-card__media img,.has-motion .service-card:hover .service-card__media.is-revealed img{transform:none}
}
.whatsapp-float{position:fixed;z-index:70;right:clamp(.75rem,2vw,2rem);bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:.75rem;padding:.42rem 1.1rem .42rem .42rem;border:1px solid #ffffff33;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 12px 36px #0005;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.whatsapp-float:hover{transform:translateY(-5px);box-shadow:0 18px 42px #0006}
.whatsapp-float:focus-visible{outline:3px solid #25d366;outline-offset:4px}
.whatsapp-float__icon{width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:50%;background:#25d366;color:#fff}
.whatsapp-float__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-float__label{display:grid;gap:.05rem;line-height:1.1}.whatsapp-float__label small{font-size:.58rem;font-weight:700;letter-spacing:.15em;color:#bdbbb4}.whatsapp-float__label strong{font:700 .94rem 'Space Grotesk',Arial,sans-serif;letter-spacing:-.02em}
@media(max-width:480px){.whatsapp-float{right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));padding-right:.85rem;gap:.55rem}.whatsapp-float__icon{width:42px;height:42px}.whatsapp-float__label small{display:none}.whatsapp-float__label strong{font-size:.82rem}}
@media(max-width:720px){.brand img{width:150px;height:50px}}
.principles-grid .principle-icon{display:block;width:38px;height:38px;color:var(--red)}
.principles-grid .principle-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){.detail-row h2{margin-top:0}}

/* Três banners na abertura */
.hero-slide{position:absolute;inset:0;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;padding:7rem clamp(1.5rem,5vw,6rem) 5rem}
.hero-slide[hidden]{display:none}
.hero-slide .hero-visual{inset:0;width:100%;height:100%;transform:none}
.hero-slide .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-slide .hero-kicker{top:6.2rem;left:clamp(1.5rem,5vw,6rem)}
.hero-slide .hero-marker{right:clamp(1.5rem,5vw,6rem)}
.hero-arrow{display:none;position:absolute;z-index:5;top:35%;width:clamp(44px,4.5vw,60px);height:clamp(44px,4.5vw,60px);place-items:center;border:1px solid #ffffffb8;border-radius:50%;background:#17171570;color:#fff;backdrop-filter:blur(6px);cursor:pointer;transition:background .25s ease,transform .25s ease}
.has-carousel .hero-arrow{display:grid}
.hero-arrow--prev{left:clamp(1rem,2.2vw,2.5rem)}
.hero-arrow--next{right:clamp(1rem,2.2vw,2.5rem)}
.hero-arrow:hover{background:var(--red);transform:scale(1.08)}
.hero-arrow:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-arrow svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-controls{display:none;align-items:center;gap:.55rem;flex:none}
.has-carousel .hero-controls{display:flex}
.hero-dot{display:block;width:18px;height:8px;padding:0;border:0;background:#96928a;cursor:pointer;transition:width .3s ease,background .3s ease}
.hero-dot.is-active{width:44px;background:var(--red)}
.hero-dot:hover{background:var(--ink)}
.hero-dot:focus-visible{outline:3px solid var(--red);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){
  .has-carousel .hero-slide.is-active h1{animation:hero-slide-copy .7s cubic-bezier(.2,.75,.2,1) both}
  .has-carousel .hero-slide.is-active .hero-visual{animation:hero-photo-enter .9s ease both}
  @keyframes hero-slide-copy{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
  @keyframes hero-photo-enter{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
}
@media(max-width:720px){.hero-slide{padding:7rem 1rem 3rem}.hero-slide .hero-kicker{top:5rem;left:1rem}.hero-slide .hero-marker{top:auto;bottom:1.4rem;left:1rem;right:auto}.hero-slide:nth-child(2) h1{font-size:11.5vw}.hero-slide:nth-child(3) h1{font-size:13vw}.hero-bottom{gap:1rem}.hero-bottom p{max-width:50%;font-size:.75rem}.hero-controls{gap:.35rem}.hero-dot{width:12px;height:7px}.hero-dot.is-active{width:28px}}
@media(max-width:720px){.hero-arrow{top:38%;background:#171715a8}.hero-arrow--prev{left:.75rem}.hero-arrow--next{right:.75rem}}
@media(max-width:420px){.hero-bottom{flex-wrap:wrap}.hero-bottom p{max-width:calc(100% - 70px);order:0}.hero-bottom .circle-link{order:1}.hero-controls{order:2;width:100%;justify-content:center;padding:.3rem 0}.hero-slide:first-child h1{font-size:14.3vw}}

/* Rodapé compartilhado */
.footer-inner{min-height:0;display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(130px,1fr));align-items:start;gap:clamp(2rem,5vw,5rem);padding:clamp(3.5rem,6vw,6rem) 0 3rem}
.footer-identity{display:grid;justify-items:start;gap:1.2rem}
.footer-inner .footer-brand{display:inline-block;border:0;padding:0;font:700 clamp(4.5rem,9vw,9rem)/.85 'Space Grotesk',Arial,sans-serif;letter-spacing:-.17em;text-transform:none;color:#fff;white-space:nowrap}
.footer-inner .footer-brand span{color:#ed4147}
.footer-inner .footer-brand:hover{color:#fff}
.footer-identity p{margin:0;max-width:240px;line-height:1.5}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.82rem}
.footer-links h2{font:700 .78rem 'DM Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#ed4147;margin:0 0 .55rem}
.footer-inner .footer-links a,.footer-links button{font:500 .95rem 'DM Sans',Arial,sans-serif;letter-spacing:0;text-transform:none;color:#fff;border:0;padding:0;text-align:left;background:none;cursor:pointer}
.footer-inner .footer-links a:hover,.footer-links button:hover{color:#f04a50}
.footer-bottom{border-top:1px solid #ffffff30;padding:1.25rem 0 1.5rem;color:#b8b5ae;font:.78rem 'DM Sans',Arial,sans-serif}
.site-footer .footer-masthead{margin-top:1.5rem}
@media(max-width:950px){.footer-inner{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-identity{grid-column:1/-1}.footer-inner .footer-brand{font-size:7rem}}
@media(max-width:600px){.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.25rem;padding:3.5rem 0 2.5rem}.footer-identity{grid-column:1/-1}.footer-inner .footer-brand{font-size:clamp(5rem,22vw,7rem)}.footer-identity p{grid-column:auto;grid-row:auto}.footer-links h2{font-size:.75rem}.footer-inner .footer-links a,.footer-links button{font-size:.9rem}.footer-bottom{padding-bottom:5.5rem}}

/* Privacidade e preferências locais */
.privacy-content{background:var(--paper)}
.privacy-prose{max-width:860px;padding:clamp(3.5rem,7vw,7rem) 0}
.privacy-prose h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.05em;margin:2.8rem 0 .8rem}
.privacy-prose p,.privacy-prose li{font-size:1.03rem;line-height:1.7;color:#494640}
.privacy-prose a{color:var(--red);text-decoration:underline;text-underline-offset:.2em}
.privacy-prose ul{padding-left:1.4rem}
.privacy-notice{position:fixed;z-index:80;left:clamp(.75rem,2vw,2rem);bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(470px,calc(100vw - 1.5rem));background:#171715;color:#fff;border:1px solid #ffffff50;box-shadow:0 14px 48px #0006;padding:1.35rem 1.5rem}
.privacy-notice p{font:.93rem/1.5 'DM Sans',Arial,sans-serif;margin:0 0 1rem}
.privacy-notice a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.privacy-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.privacy-actions button,.privacy-dialog button{border:1px solid #fff;background:#fff;color:#171715;padding:.7rem 1rem;font:700 .82rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.privacy-actions .privacy-secondary,.privacy-dialog .privacy-secondary{background:transparent;color:#fff}
.privacy-dialog{width:min(540px,calc(100vw - 2rem));max-height:min(80vh,700px);border:1px solid #171715;background:#171715;color:#fff;padding:clamp(1.3rem,4vw,2rem);box-shadow:0 24px 80px #0007}
.privacy-dialog::backdrop{background:#0009}
.privacy-dialog h2{font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.06em;margin:0 0 1.1rem}
.privacy-dialog h3{font-size:1rem;margin:1.4rem 0 .4rem}
.privacy-dialog p{font:.94rem/1.6 'DM Sans',Arial,sans-serif;color:#d2d0ca}
.privacy-dialog a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.privacy-dialog .privacy-actions{margin-top:1.5rem}
.privacy-dialog label{display:flex;align-items:center;gap:.65rem;font:700 1rem/1.4 Arial,sans-serif;margin:1rem 0 .4rem}
.privacy-dialog input[type=checkbox]{width:20px;height:20px;accent-color:var(--red);flex-shrink:0}
.privacy-dialog button:focus-visible,.privacy-notice button:focus-visible{outline:3px solid #ff6b70;outline-offset:4px}
@media(max-width:720px){.privacy-notice{bottom:calc(5.7rem + env(safe-area-inset-bottom,0px))}}

/* Two interlocking frames: a connection signature for Garagem470 links. */
.g470-connect{display:inline-flex;width:24px;height:24px;flex:0 0 auto;vertical-align:middle;transition:transform .25s ease}
.g470-connect svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}
.g470-connect .connection-accent{stroke:var(--red);transition:stroke .25s ease}
.service-card .g470-connect{width:30px;height:30px}
a:hover .g470-connect,a:focus-visible .g470-connect{transform:rotate(-8deg)}
.service-card:hover .connection-accent,.button-white .connection-accent{stroke:currentColor}
.contact-method .g470-connect{justify-self:end}
@media(prefers-reduced-motion:reduce){.g470-connect{transition:none}a:hover .g470-connect,a:focus-visible .g470-connect{transform:none}}

.instagram-section{padding:clamp(4rem,8vw,8rem) 0;background:var(--paper,#f3f1eb)}
.instagram-section__grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.instagram-section__visual{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:var(--red);color:#fff;overflow:hidden}
.instagram-section__visual:before,.instagram-section__visual:after{content:"";position:absolute;border:1px solid #ffffff55;border-radius:50%;width:135%;height:135%;pointer-events:none}
.instagram-section__visual:after{width:83%;height:83%}
.instagram-section__visual svg{width:clamp(80px,10vw,150px);height:auto;fill:none;stroke:currentColor;stroke-width:1.4;position:relative}
.instagram-section__visual span{position:relative;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:700;letter-spacing:-.04em}
.instagram-section h2{font-size:clamp(2.7rem,5.2vw,5.3rem);line-height:1;letter-spacing:-.065em;margin:1rem 0 1.5rem}
.instagram-section h2 em{color:var(--red);font-style:normal}
.instagram-section__copy{max-width:520px;color:#68645f;font-size:1.05rem;line-height:1.6;margin-bottom:2rem}
.instagram-section .text-link{white-space:normal}
@media(max-width:720px){.instagram-section__grid{grid-template-columns:1fr}.instagram-section__visual{aspect-ratio:4/3;max-height:330px}.instagram-section h2{font-size:clamp(2.7rem,10vw,4rem)}}
