/*
Theme Name: Hoodis Pars
Theme URI: https://hoodis-pars.manimj1.chatgpt.site
Author: Hoodis Pars
Description: قالب اختصاصی فارسی و راست‌چین هودیس پارس برای بسته‌بندی و چاپ افست.
Version: 1.13.19
Text Domain: hoodis-pars
*/

@font-face{font-family:"Avenir Next LT";src:url("assets/fonts/AvenirNextLTPro-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Avenir Next LT";src:url("assets/fonts/AvenirNextLTPro-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Avenir Next LT";src:url("assets/fonts/AvenirNextLTPro-Demi.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Avenir Next LT";src:url("assets/fonts/AvenirNextLTPro-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}

:root{--gold:#b49a6d;--gold-dark:#9b8155;--ink:#111;--paper:#fff;--muted:#737373;--line:#d8d3ca}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;direction:rtl}
body{margin:0;background:var(--paper);color:var(--ink);direction:rtl;text-align:right;font-family:Tahoma,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{width:min(1740px,88vw);margin-inline:auto}
.pattern{height:45px;margin-top:8mm;background:#b49a6d url("assets/header-pattern.jpg") center/cover no-repeat}

.site-header{height:108px;display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;gap:32px;padding:0 6.5vw;background:#fff;position:relative;z-index:30}
.brand{display:block;line-height:0;justify-self:start}
.brand img{display:block;width:150px;height:auto}
.main-nav{margin:0;display:flex;align-items:center;justify-self:center;gap:clamp(36px,3.4vw,64px)}
.home .site-header:not(.content-header) .main-nav{transform:translateX(-82px)}
.main-nav a{font-size:13px;font-weight:600;letter-spacing:.01em;text-transform:uppercase;color:#606060;white-space:nowrap;position:relative;padding-block:12px}
.main-nav a:after{content:"";position:absolute;right:0;bottom:4px;width:0;height:2px;background:var(--gold);transition:width .2s ease}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--gold-dark)}
.main-nav a:hover:after,.main-nav a:focus-visible:after{width:100%}
.menu-toggle{display:none;margin:0;border:0;background:none;color:#252525;font-size:26px;line-height:1;cursor:pointer}

.hero{position:relative;width:100%;aspect-ratio:2000/1030;min-height:570px;max-height:880px;overflow:hidden;background:#222}
.hero>img{width:100%;height:100%;object-fit:cover;display:block}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.65) 38%,rgba(0,0,0,.08) 64%);pointer-events:none}
.hero-process-mark{position:absolute;z-index:2;right:5.8%;bottom:5.5%;width:clamp(350px,29vw,560px);display:flex;align-items:flex-end;gap:clamp(38px,2.8vw,54px)}
.hero-process-mark>img{display:block;width:100%;height:auto}
.hero-swatches{display:grid;gap:clamp(17px,1.15vw,21px);padding-bottom:8%;transform:translateY(clamp(-92px,-4vw,-48px))}
.hero-swatches i{display:block;width:10px;height:10px;background:#fff}
.hero-swatches i:last-child{background:var(--gold)}
.hero-copy{position:absolute;z-index:2;left:6.5%;top:29%;bottom:7%;width:min(650px,43vw);color:#fff;text-align:right;padding:28px 34px;background:rgba(10,10,10,.84);border-right:3px solid var(--gold);display:flex;flex-direction:column;justify-content:center}
.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.08em;font-weight:700;margin:0 0 22px}
.hero-copy h1{font-size:clamp(38px,3.7vw,68px);line-height:1.22;margin:0 0 18px;max-width:570px;font-weight:600}
.hero-copy>p:not(.eyebrow){font-size:15px;line-height:2;max-width:570px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.button{display:inline-flex;align-items:center;gap:22px;justify-content:center;min-height:52px;padding:12px 22px;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.8);transition:.2s ease}
.button-gold{background:var(--gold);border-color:var(--gold)}
.button-outline{background:rgba(0,0,0,.22)}
.button:hover,.button:focus-visible{background:#fff;border-color:#fff;color:#111;transform:translateY(-2px)}

.stats{min-height:180px;padding:25px 8vw;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#fff}
.stat{min-height:72px;padding:10px clamp(14px,2vw,38px);border-left:1px solid #bbb;display:flex;align-items:center;gap:18px}
.stat:last-child{border-left:0}
.stat img{width:48px;height:50px;object-fit:contain;flex:0 0 auto}
.stat span{display:block;min-width:0}
.stat b{display:block;font-size:clamp(18px,1.6vw,27px);font-weight:500;white-space:nowrap}
.stat small{display:block;color:#888;font-size:12px;margin-top:4px}

.portfolio{padding:40px 0 105px;display:grid;grid-template-columns:340px 1fr;gap:48px}
.intro{padding-top:16px}
.intro h2,.approach h2{font-size:clamp(38px,3.2vw,52px);line-height:1.25;margin:0 0 24px}
.intro>p:last-child,.approach-copy>p:last-child{line-height:2;max-width:580px;color:#333}
.projects{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;direction:rtl}
.project{display:grid;grid-template-columns:1fr auto;transition:.25s;min-width:0}
.project:hover,.project:focus-visible{transform:translateY(-6px)}
.project img{width:100%;aspect-ratio:1.18;object-fit:cover;grid-column:1/3}
.project small{grid-column:1/3;color:var(--gold-dark);font-size:10px;margin-top:13px}
.project span{margin-top:7px;font-weight:600}
.project b{margin-top:7px;font-weight:400}

.process{background:var(--gold);border-bottom:4px solid #111;padding:70px 0}
.process-grid{display:grid;grid-template-columns:300px 1fr;gap:45px;align-items:start}
.process h2{color:white;font-size:40px;line-height:1.35;font-weight:500;margin:0 0 20px}
.process-intro>p:not(.eyebrow){color:white;line-height:1.9}
.process-intro>a{display:inline-flex;gap:16px;margin-top:16px;color:#fff;font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:7px}
.process-flow{min-width:0;padding-top:8px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative;direction:rtl}
.steps li{text-align:center;position:relative;z-index:1}
.steps li>a{display:block;color:inherit;transition:transform .2s ease,opacity .2s ease}
.steps li>a:hover,.steps li>a:focus-visible{transform:translateY(-3px);opacity:.82}
.steps small,.steps strong{display:block}
.steps small{font-weight:700}
.steps strong{color:white;min-height:82px;padding:18px 7px 0;font-size:14px;line-height:1.55}
.steps i{display:none}
.process-icons{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;position:relative;margin-top:-3px}
.process-icons:before{content:"";position:absolute;left:7%;right:7%;top:50%;border-top:1px dashed rgba(17,17,17,.75)}
.process-icons img{position:relative;z-index:1;display:block;width:min(100%,100px);height:auto;margin:auto}
.steps i img{display:block;width:100%;height:100%;object-fit:contain}

.approach{min-height:720px;position:relative;overflow:hidden;background:#fff;padding:110px 0 70px}
.anchor-target{position:absolute;top:0}
.approach-visual{position:absolute;z-index:0;left:0;top:0;bottom:0;width:58%;background:url("assets/approach-packaging.jpg") right center/auto 100% no-repeat;pointer-events:none}
.approach-content{position:relative;z-index:1;min-height:540px}
.approach-copy{width:42%;margin-left:auto}
.approach h2 span{color:var(--gold-dark)}
.strengths{position:absolute;right:0;bottom:0;width:40%;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96)}
.strength{padding:0 22px;border-left:1px solid #bbb}
.strength:first-child{padding-right:0}
.strength:last-child{border-left:0}
.strength h3{font-size:15px;margin-top:0}
.strength p{font-size:13px;line-height:1.75;color:#333}

.site-footer{background:var(--gold);padding:0;color:white;border-bottom:5px solid #111}
.footer-grid{display:grid;width:min(1740px,86.5vw);grid-template-columns:155px 155px minmax(0,1fr) 16vw;column-gap:34px;align-items:start;min-height:205px;padding:43px 0 31px;direction:rtl}
.site-footer h3{color:#111;font-size:13px;line-height:1;margin:0 0 11px;font-weight:700}
.site-footer h3 a{color:inherit;text-decoration:none}
.site-footer h3 a:hover,.site-footer h3 a:focus-visible{text-decoration:underline}
.site-footer p{font-size:12px;line-height:1.55;margin:0}
.footer-links{font-size:12px;line-height:1.55}
.footer-links a{display:block;width:max-content;max-width:100%}
.footer-links a:hover,.footer-links a:focus-visible{text-decoration:underline;color:#111}
.footer-grid>div:not(.footer-brand):nth-child(-n+2){min-height:130px;border-right:1px solid rgba(255,255,255,.58)}
.footer-brand{color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-self:end;width:16vw}
.footer-year{display:block;width:16vw;max-width:100%;height:auto;margin:0 0 18px;transform:translateX(-7.5%)}
.footer-logo{display:block;width:50px;height:auto;margin:0 0 8px}
.footer-brand nav{display:flex;gap:0;flex-wrap:nowrap;white-space:nowrap;font-size:10px;line-height:1.3;margin-top:6px}
.footer-brand nav a+a:before{content:"|";display:inline-block;margin:0 12px;color:#fff}
.footer-brand nav a:hover{text-decoration:underline}
.admin-edit{position:fixed;left:18px;right:auto;bottom:18px;background:#111;color:#fff;padding:12px 16px;border-radius:4px;font-size:12px;z-index:40;box-shadow:0 5px 20px rgba(0,0,0,.2)}

@media(max-width:1100px){
  .site-header{height:96px;display:flex}
  .main-nav{display:none;position:absolute;top:100%;right:0;left:0;margin:0;padding:14px 6vw 22px;background:#fff;border-bottom:3px solid var(--gold);box-shadow:0 10px 22px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:0}
  .home .site-header:not(.content-header) .main-nav{transform:none}
  .main-nav.is-open{display:flex}
  .main-nav a{padding:13px 0;border-bottom:1px solid #eee}
  .menu-toggle{display:block}
  .portfolio,.process-grid{grid-template-columns:1fr}
  .portfolio{gap:25px}
  .projects{grid-template-columns:repeat(2,1fr)}
  .process-grid{gap:35px}
  .footer-grid{grid-template-columns:repeat(3,1fr);column-gap:28px}
  .footer-brand{grid-column:1/4;justify-self:start;width:205px;max-width:100%;margin-top:22px}
  .footer-year{width:205px}
  .approach-copy{width:48%}
  .strengths{width:48%;grid-template-columns:repeat(2,1fr);row-gap:28px}
}

@media(max-width:700px){
  html{scroll-padding-top:78px}
  .pattern{height:25px;background-size:auto 100%}
  .site-header{height:78px;padding-inline:7vw}
  .brand img{width:126px}
  .hero{height:650px;min-height:0;aspect-ratio:auto}
  .hero>img{object-position:64% center}
  .hero:after{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.24)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 62%)}
  .hero-copy{left:7vw;right:7vw;top:auto;bottom:42px;width:auto;padding:24px 22px;background:rgba(0,0,0,.68);border-right:3px solid var(--gold)}
  .hero-process-mark{right:7vw;bottom:25px;width:min(52vw,310px);opacity:.82}
  .hero-swatches{display:none}
  .hero-copy h1{font-size:36px;line-height:1.3}
  .hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.85}
  .hero-actions{display:grid;grid-template-columns:1fr;margin-top:20px}
  .button{min-height:48px}
  .stats{grid-template-columns:1fr 1fr;padding:24px 7vw}
  .stat{border-left:0;border-bottom:1px solid #ddd;padding:18px 4px;gap:11px}
  .stat:last-child{grid-column:1/3;justify-content:center;border-bottom:0}
  .stat img{width:40px;height:44px}
  .stat b{font-size:18px}
  .portfolio{padding-top:55px;padding-bottom:70px}
  .projects{grid-template-columns:1fr}
  .process{padding:58px 0}
  .process h2{font-size:35px}
  .process-icons{display:none}
  .steps{grid-template-columns:1fr;gap:5px}
  .steps li{display:block;min-height:82px;border-bottom:1px solid rgba(255,255,255,.22)}
  .steps li>a{display:grid;grid-template-columns:46px 68px 1fr;text-align:right;align-items:center;min-height:82px}
  .steps small{font-size:12px}
  .steps strong{order:3;min-height:0;padding:0 14px 0 0;text-align:right}
  .steps i{order:2;width:58px;height:58px;display:grid;place-items:center;color:white;font-size:22px;font-style:normal}
  .approach{min-height:0;padding:72px 0 45px}
  .approach-visual{top:265px;bottom:auto;width:100%;height:360px;opacity:.23;background-position:76% center;background-size:auto 430px}
  .approach-content{min-height:0}
  .approach-copy{width:100%}
  .approach-copy>p:last-child{min-height:565px}
  .strengths{position:relative;right:auto;bottom:auto;width:100%;grid-template-columns:1fr;background:#fff}
  .strength{border-left:0;border-bottom:1px solid #ddd;padding:14px 0}
  .strength:first-child{padding-right:0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding:40px 0}
  .footer-grid>div:not(.footer-brand):nth-child(-n+2){border-right:0;min-height:0}
  .footer-brand{grid-column:1/3;margin-top:15px}
  .footer-year{width:205px}
  .admin-edit{left:12px;bottom:12px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project,.button{transition:none}}

/* Language switch and English-first layout */
.language-switch{display:flex;align-items:center;justify-self:end;gap:8px;direction:ltr;flex:0 0 auto;padding:0;border:0;background:transparent;font:inherit;letter-spacing:0;color:#666}
.language-switch a{padding:4px 0;transition:.2s ease}
.language-switch a:hover,.language-switch a:focus-visible{color:var(--gold-dark)}
.language-switch a.active{color:var(--gold-dark)}
.hoodis-fa .process-art{transform:scaleX(-1)}
.hoodis-fa .approach-visual{left:auto;right:0;background-position:right center}
.hoodis-fa .approach-copy{margin-left:0;margin-right:auto}
.hoodis-fa .strengths{right:auto;left:0}

html[dir="ltr"]{direction:ltr}
body.hoodis-en{direction:ltr;text-align:left;font-family:"Avenir Next LT",Arial,"Segoe UI",sans-serif}
.hoodis-en .main-nav{margin:0}
.hoodis-en .main-nav a:after{left:0;right:auto}
.home .site-header:not(.content-header) .main-nav a:first-child:after{width:100%}
.hoodis-en .hero-copy{text-align:left;border-left:3px solid var(--gold);border-right:0}
.hoodis-en .stats,.hoodis-en .portfolio,.hoodis-en .projects,.hoodis-en .process-grid,.hoodis-en .steps,.hoodis-en .footer-grid{direction:ltr}
.hoodis-en .stat{border-left:0;border-right:1px solid #bbb}
.hoodis-en .stat:last-child{border-right:0}
.hoodis-en .approach-visual{left:auto;right:0;background-position:right center}
.hoodis-en .approach-copy{margin-left:0;margin-right:auto}
.hoodis-en .strengths{right:auto;left:0}
.hoodis-en .strength{border-left:0;border-right:1px solid #bbb}
.hoodis-en .strength:first-child{padding-left:0;padding-right:22px}
.hoodis-en .strength:last-child{border-right:0}
.hoodis-en .admin-edit{right:18px;left:auto}

@media(max-width:1100px){
  .language-switch{margin-inline-start:auto}
  .hoodis-en .menu-toggle{margin-left:0;margin-right:0}
  .hoodis-en .main-nav{margin:0}
}

@media(max-width:700px){
  .language-switch{padding:6px 7px;gap:3px;font-size:10px}
  .hoodis-en .hero-copy{left:7vw;right:7vw}
  .hoodis-en .stat{border-right:0}
  .hoodis-en .steps li,.hoodis-en .steps li>a{text-align:left}
  .hoodis-en .steps strong{text-align:left;padding:0 0 0 14px}
  .hoodis-en .approach-copy{margin:0}
  .hoodis-en .strength{border-right:0}
  .hoodis-en .strength:first-child{padding-left:0;padding-right:0}
  .hoodis-en .admin-edit{right:12px;left:auto}
}

/* English inner pages based on the supplied Hoodis artboards. */
body.hoodis-content{font-family:"Avenir Next LT",Arial,sans-serif;background:#fff;color:#111}
.hoodis-content .wrap{width:min(1260px,88vw)}
.service-page .wrap{width:84vw;max-width:none}
.hoodis-content .pattern{height:68px}
.content-header{height:108px;border-bottom:0;grid-template-columns:180px 1fr 180px;padding:0 6vw}
.content-header .brand img{width:130px;height:auto}
.content-header .main-nav{justify-self:center;gap:65px}
.content-header .main-nav a{text-transform:uppercase;font-size:10px;letter-spacing:.02em;padding:50px 0 22px}
.content-header .main-nav a.current:after{width:100%}
.header-tools{justify-self:end;display:flex;align-items:center;gap:10px;color:#666;font-size:11px}
.header-tools .menu-toggle{display:block;margin-left:0;font-size:21px}
.service-page{overflow:hidden}
.service-hero{height:clamp(400px,31.35vw,552px);position:relative;background:#e8e8e8;overflow:hidden}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:701px){
  .service-hero>img{transform:scale(1.25);transform-origin:left center}
}
.service-hero-copy{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.service-hero-copy.wrap{width:89.5vw}
.service-hero-copy .eyebrow{margin-bottom:24px;color:var(--gold-dark);font-size:12px}
.service-hero-copy h1{font-size:44px;line-height:1.12;letter-spacing:.025em;margin:0 0 28px;font-weight:600}
.service-hero-copy h1 span{color:var(--gold)}
.service-hero-copy>p:last-child{width:390px;max-width:44vw;font-size:15px;line-height:1.55;margin:0}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);padding:72px 0 101px}
.service-cards article{display:grid;grid-template-columns:86px 1fr;gap:44px;padding:0 42px;border-right:1px solid #c9c9c9}
.service-cards article:first-child{padding-left:0}
.service-cards article:last-child{padding:0 0 0 42px;border-right:0}
.service-icon{width:84px;height:84px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-dark);font-size:30px}
.service-icon.has-image{border:0;border-radius:0}
.service-icon.has-image img{display:block;width:100%;height:100%;object-fit:contain}
.service-cards small{display:block;font-weight:700;font-size:11px;margin-bottom:5px}
.service-cards h2{font-size:18px;line-height:1.15;margin:0 0 12px;font-weight:600}
.service-cards p{font-family:"Avenir Next LT",Arial,sans-serif;font-size:10px;line-height:1.45;margin:0;color:#292929}
.service-cards a{display:inline-block;color:var(--gold-dark);font-size:21px;margin-top:8px}
.service-feature{display:grid;grid-template-columns:calc(53% - 8.5vw) minmax(0,1fr);min-height:clamp(400px,31.4vw,552px);padding-left:8.5vw;background:var(--gold)}
.service-feature>img{width:100%;height:100%;min-height:0;object-fit:cover}
.feature-copy{padding:78px 8.5vw 48px 5.2vw;display:flex;flex-direction:column;justify-content:flex-start}
.gold-panel .feature-copy{background:var(--gold);color:#fff}
.feature-mark{font-family:"Avenir Next LT",Arial,sans-serif;color:#667072;font-size:25px;letter-spacing:.05em;margin:0 0 -2px}
.feature-logo{display:block;width:min(290px,16.5vw);max-width:58%;height:auto;margin:0 0 32px}
.feature-copy h2{font-size:29px;letter-spacing:.12em;font-weight:500;margin:0 0 30px}
.feature-copy p:not(.feature-mark){font-size:10.5px;line-height:1.55;margin:0 0 14px;max-width:660px}
.service-editorial{display:grid;grid-template-columns:1.28fr 1fr;gap:84px;align-items:center;padding:65px 0}
.editorial-columns{columns:3;column-gap:30px}
.editorial-columns p{break-inside:avoid;font-size:10px;line-height:1.55;text-align:justify;margin:0 0 16px}
.service-editorial>img{width:100%;aspect-ratio:1.72;object-fit:cover;filter:grayscale(1)}
.prepress-page .service-editorial:last-child{padding-bottom:160px}
.content-footer{padding:0}
.content-footer .footer-grid{width:min(1740px,86.5vw);grid-template-columns:155px 155px minmax(0,1fr) 16vw;column-gap:34px}

.simple-page-hero{background:#e8e8e8;padding:105px 0 95px}
.simple-page-hero .eyebrow{color:var(--gold-dark);font-size:12px;font-weight:600;text-transform:uppercase;margin:0 0 18px}
.simple-page-hero h1{font-size:46px;line-height:1.1;margin:0}
.simple-page-content{min-height:360px;padding-top:70px;padding-bottom:90px;font-size:16px;line-height:1.9}
.simple-page-content p{max-width:720px}
.content-footer .footer-brand{justify-self:end}
.content-footer .footer-year{width:16vw}
.content-footer .footer-logo{width:50px;margin-top:0}
.content-footer .footer-brand p{font-size:10px;margin-top:0}
.content-footer .footer-brand nav{font-size:9px}

/* Preserve the artboard proportions on wide and 4K displays. */
@media(min-width:1700px){
  .hoodis-content .pattern{height:clamp(45px,1.2vw,50px)}
  .content-header{height:clamp(118px,5.85vw,150px)}
  .content-header .brand img{width:clamp(150px,7vw,190px)}
  .content-header .main-nav{gap:clamp(65px,3.5vw,92px)}
  .content-header .main-nav a{font-size:clamp(12px,.65vw,16px)}
  .header-tools{font-size:clamp(12px,.6vw,15px)}
  .header-tools .menu-toggle{font-size:clamp(22px,1.15vw,29px)}

  .service-hero{height:31.35vw;max-height:none}
  .service-hero-copy.wrap{width:auto;margin-left:calc((100% - 84vw)/2 + 172px);margin-right:5.25vw}
  .service-hero-copy .eyebrow{font-size:clamp(14px,.68vw,18px);margin-bottom:clamp(24px,1.25vw,32px)}
  .service-hero-copy h1{font-size:clamp(50px,2.25vw,58px);margin-bottom:clamp(30px,1.55vw,40px)}
  .service-hero-copy>p:last-child{width:clamp(500px,24vw,620px);font-size:clamp(18px,.85vw,22px);line-height:1.55}

  .service-cards{padding:clamp(96px,5vw,128px) 0 clamp(54px,2.25vw,58px)}
  .service-cards article{grid-template-columns:clamp(110px,4.7vw,122px) 1fr;gap:clamp(44px,1.95vw,50px);padding-right:clamp(42px,2.3vw,58px);padding-left:clamp(42px,2.3vw,58px)}
  .service-cards article:first-child{padding-left:0}
  .service-cards article:last-child{padding-right:0;padding-left:clamp(42px,2.3vw,58px)}
  .service-icon{width:clamp(110px,4.7vw,122px);height:clamp(110px,4.7vw,122px)}
  .service-cards small{font-size:clamp(16px,.72vw,18px);margin-bottom:8px}
  .service-cards h2{font-size:clamp(23px,1.05vw,27px);margin-bottom:14px}
  .service-cards p{font-size:clamp(14px,.67vw,17px);line-height:1.48}
  .service-cards a{font-size:clamp(24px,1.1vw,29px);margin-top:12px}

  .service-feature{min-height:31.4vw}
  .feature-copy{padding-top:clamp(82px,4.4vw,112px)}
  .feature-copy p:not(.feature-mark){font-size:clamp(13px,.58vw,15px);line-height:1.58;margin-bottom:18px}
  .editorial-columns p{font-size:clamp(13px,.57vw,15px);line-height:1.58}
  .service-editorial{padding:clamp(78px,3.7vw,96px) 0}
  .prepress-page .service-editorial:last-child{padding-bottom:clamp(170px,9vw,228px)}
}

@media(min-width:1101px) and (max-width:1699px){
  .service-hero-copy.wrap{width:auto;margin-left:calc((100% - 84vw)/2 + 130px);margin-right:5.25vw}
}

@media(max-width:1100px){
  .content-header{grid-template-columns:1fr auto;height:92px}
  .content-header .main-nav{top:92px}
  .content-header .header-tools{grid-column:2}
  .service-cards article{grid-template-columns:1fr;padding:0 24px}
  .service-cards article:last-child{padding-left:24px}
  .service-icon{width:62px;height:62px}
  .service-feature{grid-template-columns:1fr 1fr}
  .service-editorial{gap:45px}
  .editorial-columns{columns:2}
}

@media(max-width:700px){
  .content-header{height:78px;padding:0 7vw}
  .content-header .main-nav{top:78px}
  .content-header .brand img{width:92px}
  .header-tools .menu-toggle{margin-left:13px}
  .service-hero{height:520px}
  .service-hero>img{object-position:62% center;opacity:.48}
  .service-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,239,239,.98),rgba(239,239,239,.58) 70%,rgba(239,239,239,.16))}
  .service-hero-copy{z-index:2}
  .service-hero-copy h1{font-size:34px}
  .service-hero-copy>p:last-child{width:92%;max-width:480px;font-size:14px}
  .service-cards{grid-template-columns:1fr;padding:18px 0 26px}
  .service-cards article,.service-cards article:first-child,.service-cards article:last-child{grid-template-columns:66px 1fr;gap:14px;padding:24px 0;border-right:0;border-bottom:1px solid #ddd}
  .service-cards article:last-child{border-bottom:0}
  .service-icon{width:52px;height:52px;font-size:22px}
  .service-feature{grid-template-columns:1fr;height:auto;min-height:0;padding-left:0}
  .service-feature>img{min-height:300px;height:62vw;max-height:460px}
  .feature-copy{padding:52px 7vw}
  .feature-logo{width:230px;max-width:70%}
  .feature-copy h2{font-size:25px}
  .feature-copy p:not(.feature-mark){font-size:12px}
  .service-editorial{grid-template-columns:1fr;gap:32px;padding:52px 0}
  .prepress-page .service-editorial:last-child{padding-bottom:52px}
  .editorial-columns{columns:1}
  .editorial-columns p{font-size:12px;text-align:left}
  .service-editorial>img{grid-row:1}
  .content-footer .footer-grid{grid-template-columns:1fr 1fr;column-gap:28px}
  .content-footer .footer-brand{grid-column:1/3;justify-self:start}
}

.gray-panel .feature-copy{background:#b8b8b8;color:#fff}
.dark-panel .feature-copy{background:#505050;color:#fff}
.postpress-page .service-cards.six-cards{grid-template-columns:repeat(3,1fr);row-gap:46px}
.postpress-page .service-cards.six-cards article:nth-child(3){border-right:0}
.postpress-page .service-cards.six-cards article:nth-child(4){padding-left:0}
.postpress-page .service-cards.six-cards article:nth-child(n+4){border-top:1px solid #ddd;padding-top:38px}
.postpress-page .service-hero-copy>p:last-child{width:440px}

.portfolio-page .wrap{width:86.5vw;max-width:none}
.portfolio-hero{height:clamp(400px,31.35vw,552px);position:relative;background:#ececec;overflow:hidden}
.portfolio-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portfolio-hero-copy{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.portfolio-hero-copy .eyebrow{margin:0 0 25px;color:var(--gold-dark)}
.portfolio-hero-copy h1{font-size:41px;line-height:1.18;letter-spacing:.04em;margin:0 0 26px;font-weight:600}
.portfolio-hero-copy h1 span{color:var(--gold)}
.portfolio-hero-copy>p:last-child{width:340px;font-size:15px;line-height:1.55;margin:0}
.project-filter{height:clamp(112px,7vw,138px);display:grid;grid-template-columns:21.75vw 1fr;align-items:stretch}
.gallery-mark{height:100%;min-height:0;box-sizing:border-box;overflow:hidden;background:var(--gold);color:#fff;padding:23px 40px;display:flex;align-items:center;justify-content:center}
.gallery-mark img{display:block;width:100%;height:auto;max-height:92px}
.project-filter nav{display:grid;grid-template-columns:repeat(5,1fr);align-items:center}
.project-filter nav a{min-height:70px;padding:10px 25px;border-right:1px solid #bbb;display:flex;flex-direction:column;justify-content:center;font-size:12px;font-weight:600;position:relative}
.project-filter nav a:last-child{border-right:0}
.project-filter nav small{font-size:11px;color:#888;margin-bottom:7px;font-weight:400}
.project-filter nav a.active{color:var(--gold-dark)}
.project-filter nav a.active:after{content:"";position:absolute;left:25px;right:25px;bottom:0;height:2px;background:var(--gold)}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:15.45vw;gap:2px;background:#fff}
.portfolio-card{position:relative;overflow:hidden;background:#222;color:#fff}
.portfolio-card.wide{grid-column:span 2}
.portfolio-card.tall{grid-row:span 2}
.portfolio-card>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.portfolio-card:hover>img{transform:scale(1.035)}
.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 65%)}
.card-copy{position:absolute;left:30px;right:25px;bottom:24px;display:flex;flex-direction:column;align-items:flex-start}
.card-copy small{color:var(--gold);font-size:10px;margin-bottom:4px}
.card-copy strong{font-size:25px;font-weight:500;line-height:1.05}
.card-copy em{font-size:13px;font-style:normal;line-height:1.2;max-width:170px;margin-top:4px}
.card-copy b{width:25px;height:25px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:400;margin-top:12px}
.portfolio-pagination{display:flex;align-items:center;gap:10px;height:85px;color:#777;font-size:12px}
.portfolio-pagination button{border:1px solid var(--gold);background:#fff;color:var(--gold-dark);border-radius:50%;width:21px;height:21px;line-height:16px;cursor:pointer}
.project-detail-gallery{display:grid;grid-template-columns:4fr 1fr;grid-template-rows:1fr 1fr;height:570px;gap:2px}
.project-detail-gallery img{width:100%;height:100%;object-fit:cover}
.project-detail-gallery .detail-main{grid-row:1/3}
.project-detail-meta{display:flex;gap:80px;padding:27px 0 8px}
.project-detail-meta h1{color:var(--gold);font-size:34px;line-height:1;margin:0 0 8px}
.project-detail-meta p{font-size:14px;line-height:1.35;margin:0}
.project-services{border-left:1px solid #aaa;padding-left:18px}
.project-services small{color:#b2a287;font-size:11px}
.project-prev-next{display:flex;gap:18px;padding:8px 0 35px;color:#777;font-size:13px}
.project-prev-next span{display:inline-grid;width:20px;height:20px;border:1px solid var(--gold);border-radius:50%;place-items:center;color:var(--gold-dark);margin-left:5px}

@media(min-width:1101px){
  .portfolio-grid{grid-template-columns:26.5fr 8fr 4.5fr 22fr 4.5fr 8fr 26.5fr;grid-template-rows:repeat(4,15.45vw);grid-auto-rows:15.45vw}
  .portfolio-grid .portfolio-card:nth-child(1){grid-column:1/4;grid-row:1/3}
  .portfolio-grid .portfolio-card:nth-child(2){grid-column:4/7;grid-row:1}
  .portfolio-grid .portfolio-card:nth-child(3){grid-column:7/8;grid-row:1}
  .portfolio-grid .portfolio-card:nth-child(4){grid-column:4/6;grid-row:2}
  .portfolio-grid .portfolio-card:nth-child(5){grid-column:6/8;grid-row:2}
  .portfolio-grid .portfolio-card:nth-child(6){grid-column:1/2;grid-row:3}
  .portfolio-grid .portfolio-card:nth-child(7){grid-column:2/5;grid-row:3}
  .portfolio-grid .portfolio-card:nth-child(8){grid-column:1/3;grid-row:4}
  .portfolio-grid .portfolio-card:nth-child(9){grid-column:3/5;grid-row:4}
  .portfolio-grid .portfolio-card:nth-child(10){grid-column:5/8;grid-row:3/5}
}

@media(min-width:1700px){
  .portfolio-hero{height:31.35vw;max-height:none}
  .portfolio-hero>img{transform:translate(-4vw,60px) scale(1.5);transform-origin:8% center;object-position:center center}
  .portfolio-hero-copy .eyebrow{font-size:clamp(14px,.68vw,18px);margin-bottom:clamp(24px,1.25vw,32px)}
  .portfolio-hero-copy h1{font-size:clamp(50px,2.25vw,58px);margin-bottom:clamp(30px,1.55vw,40px)}
  .portfolio-hero-copy>p:last-child{width:clamp(500px,24vw,620px);font-size:clamp(18px,.85vw,22px)}
  .project-filter{height:7vw;max-height:none}
  .gallery-mark{padding:clamp(24px,1.5vw,38px) clamp(40px,2.2vw,56px)}
  .gallery-mark img{width:70%;max-width:78%;max-height:80%;object-fit:contain;transform:scale(2.4)}
  .project-filter nav a{min-height:clamp(74px,4.5vw,115px);padding-inline:clamp(22px,1.35vw,35px);font-size:clamp(14px,.65vw,17px)}
  .project-filter nav small{font-size:clamp(13px,.58vw,15px);margin-bottom:10px}
  .project-filter nav a.active:after{left:clamp(22px,1.35vw,35px);right:clamp(22px,1.35vw,35px)}
  .portfolio-grid{grid-auto-rows:15.45vw}
  .card-copy{left:clamp(32px,1.8vw,46px);right:clamp(28px,1.5vw,38px);bottom:clamp(26px,1.5vw,38px)}
  .card-copy small{font-size:clamp(12px,.55vw,14px);margin-bottom:6px}
  .card-copy strong{font-size:clamp(28px,1.45vw,37px)}
  .card-copy em{font-size:clamp(15px,.72vw,18px);max-width:230px;margin-top:6px}
  .card-copy b{width:32px;height:32px;font-size:22px;margin-top:16px}
  .portfolio-pagination{height:clamp(90px,5vw,128px);font-size:clamp(14px,.65vw,17px)}
  .project-detail-gallery{height:39.2vw}
  .project-detail-meta{gap:clamp(80px,5vw,128px);padding:clamp(30px,1.7vw,44px) 0 12px}
  .project-detail-meta h1{font-size:clamp(40px,2.2vw,56px)}
  .project-detail-meta p{font-size:clamp(16px,.78vw,20px)}
  .project-services small{font-size:clamp(13px,.62vw,16px)}
  .project-prev-next{font-size:clamp(15px,.7vw,18px);padding-bottom:clamp(42px,2.5vw,64px)}
}

@media(max-width:1100px){
  .project-filter{grid-template-columns:250px 1fr}
  .project-filter nav a{padding-inline:12px;font-size:10px}
  .portfolio-grid{grid-auto-rows:210px}
}

@media(max-width:700px){
  .portfolio-page .project-filter,.portfolio-page .portfolio-grid,.portfolio-page .project-detail-gallery{width:100%;max-width:none}
  .postpress-page .service-cards.six-cards{grid-template-columns:1fr;row-gap:0}
  .postpress-page .service-cards.six-cards article:nth-child(n+4){border-top:0;padding-top:24px}
  .postpress-page .service-cards.six-cards article:nth-child(3){border-bottom:1px solid #ddd}
  .portfolio-hero{height:510px}
  .portfolio-hero>img{object-position:65% center;opacity:.45}
  .portfolio-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eee 0%,rgba(238,238,238,.7) 68%,transparent)}
  .portfolio-hero-copy{z-index:2}
  .portfolio-hero-copy h1{font-size:32px}
  .project-filter{height:auto;display:block;width:100%}
  .gallery-mark{padding:22px 7vw}
  .project-filter nav{display:flex;overflow-x:auto;padding:0 5vw}
  .project-filter nav a{min-width:155px;border-right:0;border-bottom:1px solid #ddd}
  .portfolio-grid{width:100%;grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .portfolio-card.wide{grid-column:span 2}
  .portfolio-card.tall{grid-row:span 1}
  .card-copy{left:18px;bottom:17px}
  .card-copy strong{font-size:20px}
  .project-detail-gallery{width:100%;height:auto;grid-template-columns:1fr 1fr;grid-template-rows:65vw 45vw}
  .project-detail-gallery .detail-main{grid-column:1/3;grid-row:auto}
  .project-detail-meta{gap:35px}
}

@media(max-width:430px){
  .portfolio-grid{grid-template-columns:1fr;grid-auto-rows:300px}
  .portfolio-card.wide{grid-column:span 1}
  .project-detail-meta{display:block}
  .project-services{margin-top:22px}
}

/* Contact page */
.contact-page{overflow:hidden;background:#fff}
.contact-page .wrap{width:86.5vw;max-width:none}
.contact-hero{height:clamp(430px,27.3vw,560px);position:relative;overflow:hidden;background:#e8e8e8}
.contact-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-copy{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:3.2vw;box-sizing:border-box}
.contact-hero-copy .eyebrow{margin:0 0 24px;color:var(--gold-dark);font-size:12px;text-transform:uppercase}
.contact-hero-copy h1{font-size:42px;line-height:1.14;letter-spacing:.025em;margin:0 0 32px;font-weight:600}
.contact-hero-copy h1 span{color:var(--gold)}
.contact-hero-copy>p:last-child{font-size:15px;line-height:1.55;font-weight:500;margin:0}
.contact-content{padding:62px 0 52px}
.contact-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9.5vw;align-items:start;padding-inline:3.2vw;box-sizing:border-box}
.contact-content h2{font-size:28px;line-height:1.15;margin:0 0 39px;font-weight:600}
.contact-info-panel>h2{margin-left:58px}
.contact-form{display:flex;flex-direction:column;gap:16px}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:6px;color:#686868;font-size:12px;font-weight:600}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #a8a8a8;border-radius:0;background:#fff;color:#111;font:400 13px/1.35 "Avenir Next LT",Arial,sans-serif;padding:11px 13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.contact-form input{height:40px}
.contact-form textarea{height:138px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#c8c8c8;opacity:1}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 2px rgba(180,154,109,.17)}
.contact-form button{align-self:flex-end;border:0;background:var(--gold);color:#111;min-height:36px;padding:8px 13px;font:600 12px/1 "Avenir Next LT",Arial,sans-serif;cursor:pointer;transition:.18s ease}
.contact-form button:hover,.contact-form button:focus-visible{background:#9f8559;color:#fff}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-notice{margin:-22px 0 20px;padding:10px 12px;border-left:3px solid var(--gold);background:#f4f1eb;font-size:13px;line-height:1.45}
.contact-notice.error{border-color:#a74343;background:#fbefef}
.contact-info-list{display:grid;gap:32px}
.contact-info-item{display:grid;grid-template-columns:58px 1fr;min-height:72px;align-items:start}
.contact-info-item>div{min-height:72px;border-left:1px solid #aaa;padding:8px 0 5px 31px}
.contact-icon,.address-icon{display:block;color:var(--gold-dark)}
.contact-icon{width:34px;height:34px;margin-top:11px}
.contact-icon svg,.address-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-info-item h3,.address-copy h3{font-size:20px;line-height:1.15;margin:0 0 8px;font-weight:600}
.contact-info-item p,.contact-info-item a{display:block;color:#737373;font-size:12px;line-height:1.5;margin:0}
.contact-info-item a:hover,.contact-info-item a:focus-visible{color:var(--gold-dark);text-decoration:underline}
.contact-addresses{padding-top:20px}
.contact-addresses>h2{margin-left:3.2vw;margin-bottom:20px}
.address-grid{display:grid;grid-template-columns:calc(50% - 4.75vw) calc(50% - 4.75vw);gap:9.5vw;width:100%}
.address-card{display:grid;grid-template-columns:55px minmax(0,1fr) clamp(205px,11vw,275px);align-items:stretch;width:100%;min-width:0;max-width:100%;overflow:hidden}
.address-icon{width:32px;height:39px;margin-top:9px}
.address-copy{min-width:0;border-left:1px solid #aaa;padding:14px 20px 8px 30px}
.address-copy h3{margin-bottom:8px}
.address-copy p{color:#747474;font-size:12px;line-height:1.5;margin:0}
.address-copy>a{display:inline-block;color:var(--gold-dark);font-size:25px;line-height:1;margin-top:13px}
.address-card iframe{display:block;width:100%;height:165px;border:0;background:#eee;justify-self:end;position:relative;left:-2.4vw}

@media(min-width:1700px){
  .contact-hero{height:27.3vw;max-height:none}
  .contact-hero-copy .eyebrow{font-size:clamp(14px,.68vw,18px);margin-bottom:clamp(24px,1.25vw,32px)}
  .contact-hero-copy h1{font-size:clamp(48px,2.25vw,58px);margin-bottom:clamp(30px,1.55vw,40px)}
  .contact-hero-copy>p:last-child{font-size:clamp(17px,.78vw,20px)}
  .contact-content{padding-top:clamp(68px,3.6vw,92px);padding-bottom:clamp(58px,3.2vw,82px)}
  .contact-content h2{font-size:clamp(30px,1.45vw,37px);margin-bottom:clamp(40px,2vw,52px)}
  .contact-form label{font-size:clamp(13px,.58vw,15px)}
  .contact-form input,.contact-form textarea{font-size:clamp(14px,.65vw,17px)}
  .contact-form input{height:clamp(43px,2.25vw,58px)}
  .contact-form textarea{height:clamp(145px,7.5vw,192px)}
  .contact-form button{font-size:clamp(13px,.6vw,15px);min-height:clamp(38px,1.9vw,49px)}
  .contact-info-list{gap:clamp(34px,1.8vw,46px)}
  .contact-info-item{grid-template-columns:clamp(62px,3vw,78px) 1fr;min-height:clamp(78px,4vw,102px)}
  .contact-info-item>div{min-height:inherit;padding-left:clamp(31px,1.7vw,44px)}
  .contact-icon{width:clamp(36px,1.8vw,46px);height:clamp(36px,1.8vw,46px)}
  .contact-info-item h3,.address-copy h3{font-size:clamp(22px,1.05vw,27px)}
  .contact-info-item p,.contact-info-item a,.address-copy p{font-size:clamp(13px,.62vw,16px)}
  .contact-addresses{padding-top:clamp(50px,2.7vw,69px)}
  .address-card iframe{height:clamp(175px,8.5vw,218px)}
}

@media(max-width:1100px){
  .contact-hero-copy{padding-left:0}
  .contact-top{gap:7vw;padding-inline:0}
  .contact-info-panel>h2{margin-left:0}
  .contact-addresses>h2{margin-left:0}
  .address-grid{gap:5vw}
  .address-card{grid-template-columns:45px 1fr}
  .address-card iframe{grid-column:2;margin-top:16px;left:0}
}

@media(max-width:700px){
  .contact-page .wrap{width:86vw}
  .contact-hero{height:510px}
  .contact-hero>img{object-position:60% center;opacity:.52}
  .contact-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e8e8e8 0%,rgba(232,232,232,.82) 58%,rgba(232,232,232,.15))}
  .contact-hero-copy{z-index:2}
  .contact-hero-copy h1{font-size:34px;margin-bottom:24px}
  .contact-hero-copy>p:last-child{max-width:88%;font-size:14px}
  .contact-hero-copy>p:last-child br{display:none}
  .contact-content{padding:48px 0}
  .contact-top{grid-template-columns:1fr;gap:58px}
  .contact-content h2{font-size:26px;margin-bottom:28px}
  .contact-field-row{grid-template-columns:1fr}
  .contact-info-list{gap:22px}
  .contact-addresses{padding-top:58px}
  .address-grid{grid-template-columns:1fr;gap:45px}
  .address-card{grid-template-columns:45px 1fr}
  .address-copy{padding-left:22px}
  .address-card iframe{height:210px}
}

/* Mobile layout refinement (kept below 700px so desktop artboards remain unchanged). */
@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  body.hoodis-en{font-size:16px}
  .wrap,.hoodis-content .wrap,.service-page .wrap,.portfolio-page .wrap,.contact-page .wrap{width:86vw;max-width:none}

  .pattern,.hoodis-content .pattern{height:24px;margin-top:8mm;background-size:auto 100%}
  .site-header,.content-header{height:72px;min-height:72px;padding:0 7vw;gap:16px}
  .brand,.content-header .brand{flex:0 0 auto}
  .brand,.content-header .brand{display:flex;align-items:center;min-height:44px}
  .brand img,.content-header .brand img{width:96px}
  .header-tools,.content-header .header-tools,.home-header-tools{margin-left:auto;justify-self:auto}
  .menu-toggle,.header-tools .menu-toggle{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;font-size:24px;line-height:1}
  .main-nav,.content-header .main-nav{top:72px;left:0;right:0;width:auto;justify-self:stretch;gap:0;padding:8px 7vw 18px;max-height:calc(100vh - 72px);overflow-y:auto;z-index:50}
  .main-nav a{font-size:13px;padding:14px 0}

  .hero{height:620px}
  .hero>img{object-position:68% center}
  .hero-process-mark{top:28px;right:auto;left:7vw;bottom:auto;width:min(66vw,250px);gap:8px;opacity:.96}
  .hero-process-mark>img{width:calc(100% - 18px)}
  .hero-swatches{display:grid;flex:0 0 auto;align-self:flex-end;gap:6px;padding-bottom:0;transform:translateY(clamp(-62px,-15vw,-50px))}
  .hero-swatches i{width:6px;height:6px}
  .hero-copy{left:7vw;right:7vw;bottom:24px;padding:22px 20px;max-height:390px}
  .hero-copy .eyebrow{margin-bottom:14px}
  .hero-copy h1{font-size:clamp(30px,9vw,36px);margin-bottom:14px}
  .hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.7}
  .hero-actions{gap:10px;margin-top:18px}

  .stats{grid-template-columns:1fr;padding:12px 7vw 20px}
  .stat,.stat:last-child{grid-column:auto;justify-content:flex-start;min-height:72px;padding:14px 0;border-bottom:1px solid #e2e2e2}
  .stat:last-child{border-bottom:0}
  .stat img{width:44px;height:46px}

  .portfolio{padding:48px 0 64px;gap:30px}
  .intro{padding-top:0}
  .intro h2,.approach h2{font-size:clamp(32px,9vw,39px);margin-bottom:18px}
  .projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .project img{aspect-ratio:1.18}
  .project small{font-size:9px;margin-top:9px}
  .project span,.project b{margin-top:5px;font-size:13px}

  .process{padding:50px 0}
  .process-grid{gap:28px}
  .process h2{font-size:34px}
  .steps li>a{grid-template-columns:42px 58px minmax(0,1fr);min-height:76px}
  .steps strong{font-size:14px;min-width:0}
  .steps i{width:52px;height:52px}

  .approach{padding:0 0 42px}
  .approach-visual{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:86vw;height:300px;margin:0 auto;opacity:1;background-position:76% center;background-size:auto 100%}
  .approach-content{padding-top:44px;transform:translateY(-2.5cm);margin-bottom:-2.5cm}
  .approach-copy>p:last-child{min-height:0;margin-bottom:34px}
  .strengths{gap:0}
  .strength{padding:18px 0}

  .footer-grid,.content-footer .footer-grid{width:86vw;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px;row-gap:30px;padding:36px 0 30px}
  .footer-grid>div:not(.footer-brand):nth-child(-n+3){min-height:0;border:0;padding:0}
  .footer-brand,.content-footer .footer-brand{grid-column:1/4;width:min(260px,100%);margin-top:4px;justify-self:start}
  .footer-year,.content-footer .footer-year{width:230px;max-width:100%;margin-bottom:15px}
  .site-footer h3{font-size:13px}
  .footer-links{font-size:11px;line-height:1.7}
  .site-footer h3 a,.footer-links a,.footer-brand nav a{display:flex;align-items:center;min-height:44px;min-width:44px}
  .footer-brand nav{white-space:normal;row-gap:7px}

  .service-hero{height:460px}
  .service-hero>img{object-position:66% center;opacity:.52}
  .service-hero:after{background:linear-gradient(90deg,rgba(239,239,239,.98) 0%,rgba(239,239,239,.9) 48%,rgba(239,239,239,.22) 100%)}
  .service-hero-copy.wrap{width:86vw}
  .service-hero-copy .eyebrow{margin-bottom:18px}
  .service-hero-copy h1{font-size:clamp(31px,8.7vw,36px);line-height:1.12;margin-bottom:22px;max-width:88%}
  .service-hero-copy>p:last-child,.postpress-page .service-hero-copy>p:last-child{width:92%;max-width:340px;font-size:14px;line-height:1.6}
  .service-cards{padding:14px 0 20px}
  .service-cards article,.service-cards article:first-child,.service-cards article:last-child{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:24px 0}
  .service-icon{width:50px;height:50px}
  .service-cards small{font-size:11px}
  .service-cards h2{font-size:19px;margin-bottom:9px}
  .service-cards p{font-size:13px;line-height:1.55}
  .service-cards a{display:inline-grid;place-items:center;width:44px;height:44px;margin-top:0}
  .postpress-page .service-cards.six-cards article:nth-child(n+4){padding-top:24px}
  .service-feature>img{width:100%;height:68vw;min-height:260px;max-height:360px;object-position:center}
  .feature-copy{padding:38px 7vw 42px}
  .feature-logo{width:min(230px,78vw);max-width:82%;margin-bottom:24px}
  .feature-copy p:not(.feature-mark){font-size:13px;line-height:1.65;margin-bottom:16px}
  .service-editorial{gap:27px;padding:40px 0}
  .editorial-columns p{font-size:13px;line-height:1.65;text-align:left;margin-bottom:18px}
  .service-editorial>img{aspect-ratio:1.55}

  .portfolio-hero{height:430px}
  .portfolio-hero>img{object-position:67% center;opacity:.46}
  .portfolio-hero:after{background:linear-gradient(90deg,#eee 0%,rgba(238,238,238,.92) 48%,rgba(238,238,238,.18) 100%)}
  .portfolio-hero-copy .eyebrow{margin-bottom:18px}
  .portfolio-hero-copy h1{font-size:clamp(30px,8.4vw,35px);line-height:1.16;margin-bottom:22px;max-width:95%}
  .portfolio-hero-copy>p:last-child{width:92%;font-size:14px;line-height:1.6}
  .project-filter nav{scroll-snap-type:x proximity;padding:0 7vw}
  .project-filter nav a{min-width:145px;scroll-snap-align:start;padding:14px 8px}
  .portfolio-grid{grid-template-columns:1fr;grid-auto-rows:clamp(270px,82vw,340px)}
  .portfolio-card,.portfolio-card.wide{grid-column:span 1}
  .card-copy{left:20px;right:18px;bottom:19px}
  .card-copy strong{font-size:23px}
  .card-copy em{font-size:13px}
  .portfolio-pagination{height:70px}
  .portfolio-pagination button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent}
  .portfolio-pagination button:before{content:"";position:absolute;width:21px;height:21px;border:1px solid var(--gold);border-radius:50%;pointer-events:none}
  .project-detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:78vw 46vw}
  .project-detail-gallery .detail-main{grid-column:1/3;grid-row:auto}
  .project-detail-meta{display:block;padding-top:25px}
  .project-detail-meta h1{font-size:31px}
  .project-services{margin-top:22px;padding-left:16px}
  .project-prev-next a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}

  .contact-hero{height:430px}
  .contact-hero>img{object-position:68% center;opacity:.5}
  .contact-hero:after{background:linear-gradient(90deg,#e8e8e8 0%,rgba(232,232,232,.92) 55%,rgba(232,232,232,.15) 100%)}
  .contact-hero-copy{width:86vw;padding:0}
  .contact-hero-copy .eyebrow{margin-bottom:18px}
  .contact-hero-copy h1{font-size:clamp(32px,8.8vw,37px);line-height:1.15;margin-bottom:24px}
  .contact-hero-copy>p:last-child{max-width:95%;font-size:14px;line-height:1.65}
  .contact-content{padding:44px 0 48px}
  .contact-top{gap:52px}
  .contact-content h2{font-size:25px;margin-bottom:25px}
  .contact-form{gap:14px}
  .contact-form input{height:46px;font-size:16px}
  .contact-form textarea{height:150px;font-size:16px}
  .contact-form button{min-height:44px;padding-inline:18px;font-size:13px}
  .contact-info-list{gap:18px}
  .contact-info-item{grid-template-columns:48px minmax(0,1fr)}
  .contact-info-item>div{padding-left:20px}
  .contact-icon{width:30px;height:30px}
  .contact-info-item h3,.address-copy h3{font-size:19px}
  .contact-info-item p,.contact-info-item a,.address-copy p{font-size:13px}
  .contact-addresses{padding-top:48px}
  .address-grid{gap:42px}
  .address-card{grid-template-columns:46px minmax(0,1fr);overflow:visible}
  .address-copy{padding:10px 0 10px 20px}
  .address-card iframe{grid-column:1/-1;width:100%;height:230px;margin-top:16px;left:0}
}

@media(max-width:380px){
  .hero-copy h1{font-size:29px}
  .hero-process-mark{width:62vw}
  .projects{gap:16px 10px}
  .project span,.project b{font-size:12px}
  .footer-grid,.content-footer .footer-grid{column-gap:12px}
  .footer-links{font-size:10px}
  .service-hero-copy h1,.portfolio-hero-copy h1,.contact-hero-copy h1{font-size:30px}
  .card-copy strong{font-size:21px}
}
