:root{--g:#204e3a;--g2:#15392b;--c:#f7f5ee;--gold:#c6a76b;--ink:#21312a;--muted:#637169;--pale:#eaf1eb;--shadow:0 18px 50px #14392b1f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--c);color:var(--ink);font:400 15px/1.75 "Be Vietnam Pro",Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:10px}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:sticky;top:0;z-index:50;background:#f7f5eef2;backdrop-filter:blur(14px);border-bottom:1px solid #204e3a18}.brand{display:flex;align-items:center;gap:11px;color:var(--g);text-decoration:none;line-height:1}.brand b{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;font:italic 25px Lora,serif}.brand strong,.brand small{display:block}.brand strong{font:600 18px Lora,serif;letter-spacing:.08em}.brand small{font-size:9px;letter-spacing:.26em;margin-top:6px}.header nav{display:flex;gap:30px}.header nav a{text-decoration:none;font-size:13px;font-weight:600}.header nav a:hover{color:var(--gold)}.menu{display:none;border:0;background:none;font-size:24px;color:var(--g)}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:55% 45%;align-items:center;overflow:hidden;background:radial-gradient(circle at 80% 35%,#e8eee5,transparent 38%),var(--c)}.hero-copy{max-width:780px;padding:70px 5vw 80px 8vw}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin:0 0 18px}.hero h1,.section h2,.closing h2{font-family:Lora,serif;color:var(--g);line-height:1.13;margin:0;letter-spacing:-.03em}.hero h1{font-size:clamp(43px,5vw,76px)}.hero h1 i{font-style:normal;color:var(--gold);font-size:.55em}.hero-copy>p:not(.eyebrow){max-width:660px}.lead{font:600 19px/1.65 Lora,serif;color:var(--g);border-left:2px solid var(--gold);padding-left:18px}.btn{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;padding:15px 22px;border:0;border-radius:2px;background:var(--g);color:#fff;text-decoration:none;text-transform:uppercase;font:600 12px/1.3 "Be Vietnam Pro";letter-spacing:.07em;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px);background:var(--g2);box-shadow:0 8px 22px #204e3a40}.hero-pic{height:100%;min-height:650px;position:relative;display:flex;align-items:flex-end}.hero-pic:before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid #c6a76b99;border-radius:50%;top:12%;right:10%}.hero-pic img{position:relative;width:100%;height:100%;object-fit:cover;object-position:center top}.tag{position:absolute;left:0;bottom:8%;background:#f7f5eef0;padding:14px 22px;border-left:3px solid var(--gold);box-shadow:var(--shadow)}.tag small,.tag strong{display:block}.tag small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tag strong{font:600 18px Lora,serif;color:var(--g)}
.section{padding:110px max(6vw,28px)}.section h2,.closing h2{font-size:clamp(34px,4vw,58px)}.about{display:grid;grid-template-columns:45% 55%;gap:7vw;align-items:center;background:#fff}.photo{position:relative}.photo:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold)}.photo img{position:relative;width:100%;max-height:700px;object-fit:cover}.about .intro{font:600 19px Lora,serif;color:var(--g)}blockquote{margin:32px 0 0;padding:24px 27px;border-left:3px solid var(--gold);background:var(--pale);font:italic 500 20px/1.6 Lora,serif;color:var(--g)}.solutions{background:linear-gradient(var(--c),#eff4ef)}.heading{max-width:910px;margin:0 auto 58px;text-align:center}.heading>p:not(.eyebrow){color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1460px;margin:auto}.card{display:flex;flex-direction:column;background:#fff;box-shadow:0 10px 35px #204e3a12;border:1px solid #204e3a12;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.card>div{display:flex;flex:1;flex-direction:column;padding:28px}.card em{font:600 13px Lora,serif;color:var(--gold)}.card h3{margin:9px 0;font:600 24px/1.3 Lora,serif;color:var(--g)}.card h4{margin:0 0 10px;font-size:14px;color:var(--g)}.card p,.card details{font-size:13px;color:var(--muted)}.card summary{cursor:pointer;color:var(--g);font-weight:600}.card .btn{margin-top:auto;align-self:flex-start}.small{padding:13px 16px;font-size:11px}.price{padding-top:8px;color:var(--g)!important;font:700 24px Lora,serif!important}.price small{display:block;font:600 10px "Be Vietnam Pro";letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.notice{padding:10px;background:var(--pale);color:var(--g)!important}.trust{background:#fff}.press{display:grid;grid-template-columns:46% 54%;max-width:1150px;margin:0 auto 100px;align-items:center;background:var(--g);color:#fff}.press img{width:100%;height:100%;min-height:430px;object-fit:cover}.press>div{padding:48px}.press h3{font:600 clamp(25px,3vw,40px)/1.35 Lora,serif;margin:0 0 20px}.press a{display:inline-block;margin-top:12px;color:#f0d598;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.09em;text-decoration:none}.stories{max-width:1300px;margin:auto}.story-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.story-head h3{font:600 31px/1.3 Lora,serif;color:var(--g);margin:0}.story-head>p{color:var(--muted)}.carousel{display:grid;grid-template-columns:48px 1fr 48px;gap:16px;align-items:center;margin-top:35px}.viewport{overflow:hidden}.track{display:flex;transition:transform .4s ease}.slide{flex:0 0 33.333%;padding:0 9px}.slide button{width:100%;padding:0;border:0;background:#f1f2ef;cursor:zoom-in}.slide img{width:100%;height:500px;object-fit:contain}.prev,.next{width:46px;height:46px;border:1px solid #204e3a40;background:#fff;color:var(--g);font-size:20px;cursor:pointer}.count{text-align:center;color:var(--gold);font-size:12px;letter-spacing:.14em}.closing{display:grid;grid-template-columns:40% 60%;background:var(--g);color:#fff}.closing-pic{background:var(--c)}.closing-pic img{width:100%;height:100%;max-height:760px;object-fit:cover;object-position:center top}.closing>div:last-child{padding:100px 10vw 100px 7vw;align-self:center}.closing h2{color:#fff}.closing .gold{background:var(--gold);color:var(--g2)}footer{background:#112c22;color:#dae4de;padding:58px max(6vw,28px) 22px}.foot{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:60px;max-width:1300px;margin:auto}.foot .brand{color:#fff;margin-bottom:20px}.foot h3{font:600 16px Lora,serif;color:#fff}.foot p,.foot a{font-size:12px;color:#b9c9c0;text-decoration:none}.foot>div:last-child a{display:block;margin:7px 0}.copy{max-width:1300px;margin:38px auto 0;padding-top:18px;border-top:1px solid #ffffff1f;font-size:11px;color:#8fa398}dialog{max-width:min(92vw,850px);max-height:92vh;padding:18px;border:0;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#0a1812d9}dialog img{max-height:82vh;margin:auto}.close{position:absolute;right:7px;top:5px;width:38px;height:38px;border:0;border-radius:50%;background:var(--g);color:#fff;font-size:25px}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.header nav{position:absolute;left:0;right:0;top:82px;display:none;flex-direction:column;gap:0;padding:10px 24px 20px;background:var(--c);box-shadow:0 15px 30px #0002}.header nav.open{display:flex}.header nav a{padding:12px 0;border-bottom:1px solid #204e3a18}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:65px 7vw 35px}.hero-pic{min-height:620px}.about{grid-template-columns:1fr;gap:65px}.photo{max-width:620px;margin:auto}.cards{grid-template-columns:1fr;max-width:680px}.card>img{aspect-ratio:16/10}.press{grid-template-columns:1fr}.press img{min-height:0;max-height:520px}.story-head{grid-template-columns:1fr;gap:5px}.slide{flex-basis:50%}.closing{grid-template-columns:1fr}.closing-pic img{max-height:650px}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
@media(max-width:600px){body{font-size:14px}.header{height:70px;padding:0 18px}.header nav{top:70px}.brand b{width:37px;height:37px}.brand strong{font-size:15px}.brand small{font-size:8px}.hero-copy{padding:48px 22px 26px}.hero h1{font-size:39px}.hero h1 br{display:none}.lead{font-size:17px}.hero-pic{min-height:485px}.tag{left:14px;bottom:16px}.section{padding:78px 22px}.section h2,.closing h2{font-size:34px}.about{gap:52px}.photo:before{inset:12px -10px -12px 10px}.card>div{padding:24px}.card h3{font-size:22px}.press{margin-bottom:70px}.press>div{padding:30px 24px}.press h3{font-size:26px}.carousel{grid-template-columns:37px 1fr 37px;gap:5px}.prev,.next{width:36px;height:42px}.slide{flex-basis:100%;padding:0 5px}.slide img{height:470px}.closing>div:last-child{padding:70px 22px}.foot{grid-template-columns:1fr;gap:25px}.foot>div:first-child{grid-column:auto}.btn{width:100%;text-align:center}.card .btn{align-self:stretch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.track,.btn,.card{transition:none}}

/* Desktop refinement: keep the hero portrait elegant and proportionate. */
@media(min-width:981px){
  .hero{grid-template-columns:58% 42%}
  .hero-pic{height:calc(100vh - 82px);min-height:660px;align-items:center;justify-content:center;padding:48px 5vw 48px 20px}
  .hero-pic:before{width:62%;top:14%;right:14%}
  .hero-pic img{width:min(100%,580px);height:auto;max-height:720px;object-fit:contain;box-shadow:0 24px 60px rgba(20,57,43,.14)}
  .tag{left:5%;bottom:9%}
}

/* Revision from the consolidated desktop and mobile review. */
html,body{max-width:100%;overflow-x:hidden}
body{font-size:16px;color:#26372f}
.brand-logo{display:block;width:68px;height:60px;object-fit:contain}
.header .brand{height:100%}
.keep{white-space:nowrap}
.heading>p:not(.eyebrow),.story-head>p{color:#3f5148}
.section{padding-top:96px;padding-bottom:96px}
.btn{min-height:48px;font-size:12.5px}

.about{grid-template-columns:minmax(0,41%) minmax(0,1fr);gap:5vw;overflow:hidden}
.about>*{min-width:0}
.about .photo{width:100%;max-width:520px;margin:0 auto}
.about .photo img{width:100%;height:auto;max-height:640px;object-fit:contain}
.about h2{font-size:clamp(34px,3.35vw,52px)}
.about p{font-size:16px}
.about blockquote{margin-top:24px}

.heading>p:not(.eyebrow){font-size:16px;line-height:1.75}
.cards{max-width:1380px}
.card>img{aspect-ratio:16/10}
.card>div{padding:27px}
.card h3{font-size:25px}
.card h4{font-size:15px;line-height:1.6}
.card p,.card details{font-size:15px;line-height:1.72;color:#46584f}
.card em,.price small{color:#a77c2e}
.small{padding:14px 19px;font-size:12px}

.trust{padding-top:88px}
.trust .heading{margin-bottom:50px}
.trust .heading>p{font-size:16px;line-height:1.78;color:#3f5148}
.press{grid-template-columns:48% 52%;margin-bottom:76px;align-items:stretch;overflow:hidden}
.press-image-link{display:flex;align-items:center;justify-content:center;background:#fff;text-decoration:none}
.press-image-link img{width:100%;height:auto;min-height:0;object-fit:contain}
.press>div{padding:40px 44px}
.press h3{font-size:clamp(25px,2.4vw,35px);line-height:1.35}
.press>div>p:not(.eyebrow){font-size:15.5px;line-height:1.72}
.press a{font-size:13px}
.story-head>p{font-size:16px;line-height:1.75}
.slide img{height:440px}
.carousel{margin-top:30px}
.count{margin:12px 0 0}

.closing{grid-template-columns:42% 58%;scroll-margin-top:90px}
.closing-pic{display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.closing-pic img{width:min(100%,600px);height:auto;max-height:680px;object-fit:contain;object-position:center top}
.closing>div:last-child{padding:78px 8vw 78px 6vw}
.closing h2{font-size:clamp(36px,3.5vw,52px);max-width:820px}
.closing>div:last-child>p:not(.eyebrow){max-width:820px;font-size:16px;line-height:1.78}
.closing .gold{padding:15px 24px;font-size:12.5px}

footer{padding-top:50px}
.foot{grid-template-columns:1.25fr 1fr .8fr;gap:42px}
.foot .brand-logo{width:88px;height:78px}
.foot h3{font-size:18px}
.foot p,.foot a{font-size:14px;line-height:1.65;color:#d2ded7}
.foot>div:last-child a{margin:10px 0}
.copy{font-size:12.5px;color:#b7c9bf;border-top-color:#ffffff38}

@media(min-width:981px){
  .hero{grid-template-columns:58% 42%}
  .hero-pic{height:calc(100vh - 82px);min-height:650px;padding:55px 5vw 55px 28px}
  .hero-pic img{width:min(92%,520px);height:auto;max-height:650px;object-fit:contain}
  .hero-pic:before{width:58%;top:17%;right:17%}
  .tag{left:7%;bottom:10%}
}

@media(max-width:980px){
  .about>div:last-child{order:1}
  .about .photo{order:2}
  .press-image-link img{max-height:520px}
}

@media(max-width:600px){
  body{font-size:16px;line-height:1.72}
  .header{height:70px;padding:0 16px}
  .brand-logo{width:56px;height:50px}
  .section{padding:64px 22px}
  .eyebrow{font-size:11px;margin-bottom:13px}
  .hero-copy{padding:42px 22px 28px}
  .hero h1{font-size:36px;line-height:1.15}
  .hero-copy>p:not(.eyebrow){font-size:16px}
  .lead{font-size:18px}
  .hero-pic{display:block;width:90%;height:auto;min-height:0;margin:0 auto 54px;padding:0}
  .hero-pic:before{display:none}
  .hero-pic img{width:100%;height:auto;max-height:560px;object-fit:contain;box-shadow:0 18px 42px rgba(20,57,43,.12)}
  .tag{left:12px;bottom:12px;padding:11px 15px}
  .tag strong{font-size:16px}

  .about{gap:30px}
  .about>div:last-child{order:1}
  .about .photo{order:2;width:90%;max-width:420px;margin:8px auto 10px}
  .about .photo:before{inset:10px 0 -10px 10px}
  .about h2{font-size:32px;line-height:1.2}
  .about p{font-size:16px;line-height:1.75}
  .about .intro{font-size:18px}
  .about blockquote{font-size:18px;line-height:1.65;padding:21px 20px}

  .heading{margin-bottom:38px}
  .heading>p:not(.eyebrow){font-size:16px;line-height:1.75}
  .section h2,.closing h2{font-size:32px;line-height:1.18}
  .cards{gap:24px}
  .card>div{padding:24px 20px}
  .card h3{font-size:23px;line-height:1.34}
  .card h4{font-size:16px;line-height:1.55}
  .card p,.card details{font-size:16px;line-height:1.72}
  .card em{font-size:14px}
  .price{font-size:27px!important}
  .price small{font-size:11px}
  .card .btn{min-height:52px;font-size:12.5px}

  .trust{padding-top:60px}
  .trust .heading{margin-bottom:38px}
  .trust .heading>p{font-size:16px;line-height:1.75}
  .press{margin-bottom:55px}
  .press-image-link img{width:100%;height:auto;max-height:none;object-fit:contain}
  .press>div{padding:30px 20px 32px}
  .press h3{font-size:25px;line-height:1.38}
  .press>div>p:not(.eyebrow){font-size:16px;line-height:1.72}
  .press a{font-size:13px;line-height:1.5}
  .story-head h3{font-size:29px;line-height:1.3}
  .story-head>p{font-size:16px;line-height:1.72}
  .carousel{grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;margin-top:26px}
  .slide{padding:0}
  .slide img{width:100%;height:auto;max-height:none;object-fit:contain}
  .prev,.next{width:42px;height:48px;font-size:22px}
  .count{margin:8px 0 0;font-size:13px}

  .closing-pic{height:430px;align-items:stretch}
  .closing-pic img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 16%}
  .closing>div:last-child{padding:50px 22px 58px}
  .closing h2{font-size:32px;line-height:1.22}
  .closing>div:last-child>p:not(.eyebrow){font-size:16px;line-height:1.72}
  .closing .gold{min-height:52px;font-size:12.5px}

  footer{padding:44px 22px 20px}
  .foot{gap:22px}
  .foot .brand-logo{width:78px;height:70px}
  .foot h3{font-size:18px;margin-bottom:12px}
  .foot p,.foot a{font-size:14px;line-height:1.7}
  .foot>div:last-child a{margin:11px 0}
  .copy{margin-top:26px;padding-top:16px;font-size:12.5px;line-height:1.6}
}

/* V2 – final responsive refinement from the consolidated review. */
.hero h1{font-size:clamp(40px,4.25vw,64px);font-weight:600}
.hero h1 span{display:block}
.hero-copy>p:not(.eyebrow){color:#34463d}
.hero-pic img{border-radius:18px;box-shadow:0 24px 56px rgba(20,57,43,.16)}
.hero-pic:before{display:none}
.hero .btn{padding:17px 27px;border-radius:12px;font-size:13px}

.about{grid-template-areas:"photo copy" "photo quote";grid-template-rows:auto auto;align-items:center}
.about .photo{grid-area:photo}
.about .photo:before{display:none}
.about .photo img{border-radius:18px;box-shadow:0 22px 54px rgba(20,57,43,.13)}
.about-copy{grid-area:copy;min-width:0}
.about-quote{grid-area:quote;margin:8px 0 0;padding:19px 23px;background:#eef5ef;font-style:normal;font-size:18px;line-height:1.62;border-radius:0 12px 12px 0}

.solutions .eyebrow,.solutions .heading>p,.story-head .eyebrow{color:#31483c}
.solutions .heading .eyebrow,.story-head .eyebrow{font-weight:700}
.hero .eyebrow,.about .eyebrow{color:#2c4b3c}
.cards{align-items:stretch}
.card{height:100%;border-radius:14px;overflow:hidden}
.card>img{object-fit:cover;object-position:center}
.card>div{min-height:560px}
.card .price{margin-top:auto;margin-bottom:10px}
.card .price{color:#173f2e!important}
.card .price small{color:#315142;font-weight:700}
.card .btn{border-radius:10px;min-height:52px}
.card .consult{width:100%}

.press{border-radius:16px}
.press-image-link{min-height:100%}
.press-image-link img{align-self:center}
.press>div{display:flex;flex-direction:column;justify-content:center}
.press>div>a{align-self:flex-start;padding:14px 18px;border:1px solid #f0d598;border-radius:9px}
.story-head .eyebrow{color:#274638}
.prev,.next{border-radius:50%;font-weight:700;transition:.2s}
.prev:hover,.next:hover{background:var(--g);color:#fff}

.closing-pic img{border-radius:0}
.closing .gold{border-radius:12px;min-height:54px;font-size:13px}

.foot>div:nth-child(2)>a{display:block;margin:10px 0}
.foot a:hover{color:#fff;text-decoration:underline}

.feedback-dialog{max-width:min(92vw,850px);max-height:92vh;padding:18px;border:0;box-shadow:0 25px 100px #0007}
.feedback-dialog::backdrop,.consult-dialog::backdrop{background:#0a1812d9}
.feedback-dialog img{max-height:82vh;margin:auto}

.consult-dialog{width:min(94vw,820px);max-height:92vh;padding:0;border:0;border-radius:18px;box-shadow:0 28px 100px #0007;overflow:auto;color:var(--ink);background:#fff}
.consult-dialog .close,.feedback-dialog .close{position:absolute;right:12px;top:12px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:var(--g);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.form-shell{padding:42px 44px 46px}
.form-shell h2{margin:0;color:var(--g);font:600 34px/1.24 Lora,serif}
.form-shell>p:not(.eyebrow){margin:12px 0 26px;color:#43554c}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--g)}
.form-grid label span{color:#b45538}
.form-grid input,.form-grid textarea{width:100%;border:1px solid #b9c9c0;border-radius:9px;background:#fbfcfa;padding:13px 14px;color:var(--ink);font:500 16px/1.45 "Be Vietnam Pro",Arial,sans-serif;outline:none}
.form-grid textarea{resize:vertical;min-height:116px}
.form-grid input:focus,.form-grid textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(32,78,58,.12)}
.form-wide{grid-column:1/-1}
.form-error{margin:16px 0 0;color:#a33c24;font-weight:600}
.form-submit{min-width:260px;border-radius:10px;font-size:13px}
.form-submit:disabled{opacity:.65;cursor:wait}
.form-success{padding:34px 10px 14px;text-align:center}
.form-success strong{display:block;color:var(--g);font:600 30px/1.3 Lora,serif;outline:none}
.form-success p{font-size:18px;color:#405248}
.form-success .btn{border-radius:10px;min-width:170px}

@media(min-width:981px){
  .hero-copy{padding-top:56px;padding-bottom:64px}
  .hero-pic{padding-top:48px;padding-bottom:48px}
  .hero-pic img{max-height:620px}
  .about{grid-template-columns:minmax(350px,40%) minmax(0,60%);gap:2px 5vw}
  .about .photo{max-width:470px}
  .about .photo img{max-height:590px}
  .card>img{height:250px;aspect-ratio:auto}
  .press-image-link img{max-height:460px}
  .slide img{height:470px}
}

@media(max-width:980px){
  .about{grid-template-areas:"copy" "photo" "quote";grid-template-columns:1fr;grid-template-rows:auto;gap:28px}
  .about-copy{order:initial}
  .about .photo{order:initial}
  .about-quote{order:initial}
  .card>div{min-height:0}
  .press{border-radius:14px}
}

@media(max-width:600px){
  .hero-copy{padding-top:38px}
  .hero h1{font-size:34px;line-height:1.18}
  .hero h1 span{white-space:nowrap}
  .hero-pic{width:88%;margin-bottom:42px}
  .hero-pic img{height:390px;max-height:390px;object-fit:cover;object-position:center 12%;border-radius:15px}
  .hero .btn{min-height:54px;font-size:13px}

  .about{gap:24px}
  .about .photo{width:88%;margin:4px auto}
  .about .photo img{height:390px;max-height:390px;object-fit:cover;object-position:center 16%;border-radius:15px}
  .about-quote{width:100%;margin:2px 0 0;padding:19px 18px;font-size:17px}

  .card>img{height:220px;aspect-ratio:auto;object-fit:cover}
  .card>div{padding-top:20px;padding-bottom:22px}
  .card p{margin-top:8px;margin-bottom:8px}
  .card .price{margin-top:12px}

  .press{display:flex;flex-direction:column}
  .press-image-link{width:100%}
  .press-image-link img{width:100%;height:auto}
  .stories{margin-top:0}
  .carousel{grid-template-columns:46px minmax(0,1fr) 46px}
  .prev,.next{width:44px;height:52px;font-size:24px}

  .closing{display:flex;flex-direction:column}
  .closing-pic{height:360px}
  .closing-pic img{height:360px;object-position:center 12%}
  .closing>div:last-child{padding:42px 24px 50px}
  .closing .gold{width:100%;font-size:13px}

  footer{padding-left:24px;padding-right:24px}
  .foot{gap:28px}
  .foot>div{padding-bottom:2px}
  .foot .brand-logo{width:92px;height:auto}

  .consult-dialog{width:calc(100vw - 22px);border-radius:15px}
  .consult-dialog .close{right:8px;top:8px}
  .form-shell{padding:46px 18px 28px}
  .form-shell h2{font-size:28px;padding-right:22px}
  .form-grid{grid-template-columns:1fr;gap:15px}
  .form-wide{grid-column:auto}
  .form-submit{width:100%;min-width:0;min-height:54px}
  .form-success{padding-left:4px;padding-right:4px}
  .form-success strong{font-size:25px}
}

@media(max-width:390px){
  .hero h1{font-size:clamp(26px,8vw,30px)}
  .hero h1 span{white-space:nowrap}
}

/* PC hero balance refinement */
@media(min-width:981px){
  .hero{
    grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
    column-gap:clamp(22px,2.6vw,46px);
    padding:0 clamp(58px,7vw,126px);
  }
  .hero-copy{
    width:100%;
    max-width:none;
    padding:50px 0 58px;
  }
  .hero h1{
    font-size:clamp(42px,3.1vw,58px);
    line-height:1.12;
  }
  .hero h1 span{white-space:nowrap}
  .hero-pic{
    width:100%;
    height:500px;
    min-height:0;
    padding:0;
    align-items:flex-start;
    justify-content:flex-start;
    overflow:visible;
  }
  .hero-pic img{
    width:min(100%,430px);
    height:500px;
    max-height:none;
    object-fit:cover;
    object-position:center top;
  }
  .tag{
    left:-24px;
    bottom:7%;
  }
}
