@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102c40;--ink:#153044;--orange:#fb782e;--muted:#6c7781;--paper:#f5f7f8;--line:#e2e7e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.5px;line-height:1.3}h3{line-height:1.4}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.header{height:98px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;font-size:23px;line-height:1.1;font-weight:800;letter-spacing:1px}.brand-mark{position:relative;background:var(--navy);color:white;width:43px;height:46px;display:grid;place-items:center;font-size:34px;letter-spacing:-3px;border-radius:3px}.brand-mark>span{position:absolute;right:2px;top:-2px;font-size:25px;color:var(--orange)}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;font-weight:600}.header nav{display:flex;gap:25px;font-size:12px;font-weight:600}.header nav a{position:relative;padding:36px 0}.header nav a:hover,.header nav a.active{color:#db6220}.header nav a.active:after{content:'';height:3px;background:var(--orange);position:absolute;bottom:19px;left:0;width:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--orange);color:var(--navy);padding:15px 22px;border-radius:4px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;line-height:1.7}.button:hover{background:#ff8d4b;transform:translateY(-3px)}.button span{font-size:20px;line-height:1}.button-small{padding:12px 17px;font-size:12px;gap:16px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:600px;background:var(--navy);color:#fff;overflow:hidden}.hero-copy{padding:78px 35px 65px max(5.5vw,calc((100vw - 1340px)/2));align-self:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px;color:#d66b2a;margin-bottom:21px}.hero .eyebrow{color:#ffc093;letter-spacing:1.6px;font-size:9px}.eyebrow>span{width:6px;height:6px;background:var(--orange);border-radius:50%}h1{font-size:clamp(38px,4.1vw,62px);line-height:1.15;letter-spacing:-2.6px;font-weight:800}h1 em{color:var(--orange);font-style:normal}.hero-description{color:#bdcbd4;max-width:430px;margin:25px 0 30px;font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:13px}.text-link:hover{color:var(--orange)}.wa-icon{font-size:24px}.hero-note{display:flex;gap:8px;align-items:center;font-size:9px;color:#aebfc9;margin-top:43px}.check{color:#f2a66c;font-size:13px}.note-line{height:13px;background:#4a5b68;width:1px;margin:0 8px}.hero-visual{position:relative;min-height:600px;background:#f0f1ec;display:flex;align-items:center;justify-content:center;isolation:isolate;margin:25px 25px 25px 0;border-radius:6px;min-height:550px;overflow:hidden}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#bbc5c324 1px,transparent 1px),linear-gradient(90deg,#bbc5c324 1px,transparent 1px);background-size:40px 40px;z-index:-1}.hero-visual:before{content:'';position:absolute;width:390px;height:390px;border-radius:50%;background:#e5e5dc;z-index:-1}.visual-label{position:absolute;top:30px;left:30px;color:#71817f;font-size:9px;letter-spacing:2px}.hero-product{height:410px;width:75%;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-9deg);filter:drop-shadow(15px 20px 12px #253b3520);margin-top:-25px}.visual-caption{position:absolute;bottom:55px;left:25px;display:flex;align-items:center;gap:12px;background:#fff;padding:15px 22px;border-radius:4px;box-shadow:0 10px 25px #102c4012;color:var(--ink)}.caption-icon{background:#fff1e6;color:var(--orange);padding:8px 15px;font-size:24px}.visual-caption strong{font-size:13px;line-height:1.5;display:block}.visual-caption div>span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.visual-index{position:absolute;bottom:19px;right:26px;color:#76847e;font-size:8px;letter-spacing:1.6px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 7%;background:#f5f7f7;border-bottom:1px solid var(--line)}.benefits>div{display:flex;align-items:center;justify-content:center;gap:17px;border-right:1px solid #dfe4e6}.benefits>div:last-child{border:0}.benefit-icon{font-size:25px;color:#dd783c}.benefits div>span:last-child{font-size:13px;font-weight:600}.benefits strong{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:3px}.section{padding:83px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:37px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9;padding-bottom:3px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-6px);box-shadow:0 15px 32px #102c4010}.product-image{position:relative;height:285px;background:#f4f5f3;padding:45px 30px 26px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}.product-card:hover img{transform:scale(1.05)}.tag{position:absolute;top:17px;left:19px;z-index:1;font-size:8px;letter-spacing:1px;color:#52616b;background:white;padding:4px 9px;border-radius:2px}.product-number{position:absolute;right:18px;bottom:12px;font-size:11px;color:#8f989c}.product-content{padding:23px 23px 0}.product-content h3{font-size:18px;letter-spacing:-.5px}.product-content h3 span{font-size:12px;font-weight:500}.product-content p{font-size:12px;color:var(--muted);margin:12px 0 22px;min-height:63px;line-height:1.8}.product-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;font-weight:700;font-size:11px}.product-link span{font-size:21px;color:#e37330}.product-link:hover{color:#da6323}.catalog-note{text-align:center;font-size:11px;color:var(--muted);margin-top:27px}.catalog-note span{margin-right:7px}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding-top:22px;align-items:center}.about-art{background:var(--navy);color:white;border-radius:5px;padding:30px;position:relative;overflow:hidden}.about-art:after{content:'';width:290px;height:290px;border:1px solid #ffffff15;position:absolute;right:-95px;top:40px;border-radius:50%;box-shadow:0 0 0 40px #ffffff05,0 0 0 80px #ffffff03}.about-art>.eyebrow{font-size:9px;color:#d5dfe4;letter-spacing:3px}.large-mark{font-size:120px;font-weight:800;line-height:1.1;letter-spacing:-10px;font-family:Manrope,Arial,sans-serif;position:relative;display:inline-block}.large-mark span{font-size:70px;position:absolute;top:-3px;right:-43px;color:var(--orange)}.about-art>p:not(.eyebrow){font-size:21px;line-height:1.5;margin:22px 0 35px;font-weight:400}.about-art strong{color:#edb288;font-weight:500}.art-bottom{border-top:1px solid #ffffff26;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.about-copy h2{font-size:clamp(28px,2.6vw,35px)}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:19px;line-height:1.9}.about-copy .text-link{margin-top:25px}.process{padding-top:22px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}.steps>div{border-top:1px solid var(--line);padding-top:20px}.steps>div>span{font-size:12px;color:#df702b;font-weight:700}.steps h3{font-size:17px;margin:15px 0 10px}.steps p{color:var(--muted);font-size:12px;max-width:270px}.location{background:var(--paper);max-width:none;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.location-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9;max-width:390px;margin:21px 0}.location-copy .address{color:var(--ink)!important;font-size:14px!important;font-weight:500}.button-dark{background:var(--navy);color:#fff;font-size:11px}.button-dark:hover{background:#244961}.map-container{height:380px;border:1px solid #dde2e0;position:relative;border-radius:5px;overflow:hidden;background:#e9ede9}.map-container iframe{width:100%;height:100%;border:0}.map-label{position:absolute;bottom:18px;left:18px;right:18px;background:#fff;padding:14px 17px;display:flex;gap:14px;align-items:center;box-shadow:0 4px 15px #102c4015;border-radius:3px;pointer-events:none}.map-label>span{font-size:28px;color:var(--orange)}.map-label strong{display:block;font-size:12px}.map-label small{display:block;color:var(--muted);font-size:10px}.contact{background:var(--navy);padding:65px 7%;color:white;display:flex;align-items:center;justify-content:space-between;gap:35px}.contact .eyebrow{color:#f3af7e;font-size:9px}.contact h2{font-size:clamp(28px,3vw,40px)}.contact p:not(.eyebrow){color:#b9c9d3;font-size:12px;margin-top:20px}.contact-actions{display:flex;flex-direction:column;gap:18px;min-width:240px}.phone-link{font-size:12px;display:block;padding:0 8px}.phone-link>span{float:right;font-size:20px}.phone-link small{display:block;color:#b9c9d3;font-size:11px}.phone-link:hover{color:var(--orange)}footer{padding:55px 7% 20px;background:#f9faf9}.footer-top{display:grid;grid-template-columns:1.2fr .7fr 1fr 1.2fr;gap:30px}.footer-top .brand{font-size:19px}.footer-top .brand-sub{font-size:6px}.footer-top .brand-mark{width:35px;height:38px;font-size:28px}.footer-top p{font-size:10px;line-height:1.9;color:var(--muted);margin-top:16px}.footer-top h3{font-size:11px;margin-bottom:17px}.footer-top>div>a:not(.brand){display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.footer-top>div>a:hover{color:#d66b2a}.footer-top>div:last-child p{margin-top:0}.footer-bottom{margin-top:38px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#7b858d;font-size:9px}.floating-wa{position:fixed;bottom:24px;right:25px;z-index:15;display:flex;gap:9px;align-items:center;background:#247d52;color:white;padding:13px 17px;border-radius:40px;font-size:11px;font-weight:600;box-shadow:0 5px 20px #102c4030;transition:transform .2s}.floating-wa:hover{transform:translateY(-3px);background:#186b43}.menu-toggle{display:none}
@media(min-width:1500px){.hero-copy{padding-left:7vw}.hero{min-height:670px}.hero-visual{min-height:620px}.hero-product{height:470px}}
@media(max-width:1100px){.header{padding:0 4%;gap:15px}.header nav{gap:17px;font-size:10px}.brand{font-size:19px}.brand-sub{font-size:6px}.header-cta{font-size:10px;padding:11px}.hero-copy{padding-left:6vw}.hero-actions{gap:15px}.hero .text-link{font-size:10px}.hero-note{flex-wrap:wrap;font-size:8px}.hero-visual{min-height:510px}.hero-product{height:350px}.hero{min-height:560px}.section{padding-left:6%;padding-right:6%}.product-image{height:250px}.product-content{padding:20px 18px 0}.product-content h3{font-size:16px}.product-content p{min-height:85px}.benefits{padding-left:4%;padding-right:4%}.benefits div>span:last-child{font-size:11px}.benefits strong{font-size:9px}.header-cta span{display:none}.footer-top{gap:20px}}
@media(max-width:800px){html{scroll-padding-top:85px}.header{height:78px;padding:0 6%}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px 4px;border:0;background:transparent;order:3}.menu-toggle span{width:23px;height:2px;background:var(--ink)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:15px 6% 25px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #102c4010}.header nav.is-open{display:flex;flex-direction:column;gap:0}.header nav a{padding:12px 0;font-size:13px}.header nav a.active:after{display:none}.hero{grid-template-columns:1fr 1fr;min-height:500px}.hero-copy{padding:48px 20px 45px 6vw}h1{font-size:35px;letter-spacing:-1.5px}.hero .eyebrow{font-size:7px;letter-spacing:1px}.hero-description{font-size:12px}.hero-actions .button{font-size:11px;padding:12px 15px}.hero-note{margin-top:25px}.hero-note .note-line{display:none}.hero-visual{margin:18px 18px 18px 0;min-height:465px}.hero-product{height:300px;width:90%}.visual-caption{left:12px;right:12px;padding:13px;bottom:50px;gap:10px}.caption-icon{padding:5px 10px;font-size:20px}.visual-caption strong{font-size:10px}.visual-caption div>span{font-size:7px}.visual-label{font-size:7px;left:20px}.visual-index{font-size:6px}.benefits{padding:24px 4%;gap:12px}.benefits>div{gap:10px}.benefit-icon{font-size:21px}.benefits div>span:last-child{font-size:9px}.benefits strong{font-size:8px}.section{padding-top:60px;padding-bottom:60px}.section-heading>p{font-size:10px}.product-grid{gap:15px}.product-image{height:220px;padding:45px 15px 25px}.tag{font-size:6px;left:10px}.product-content{padding:18px 14px 0}.product-content h3{font-size:14px}.product-content h3 span{font-size:10px;display:block}.product-content p{font-size:10px;min-height:91px}.product-link{font-size:9px}.about{gap:6%;padding-top:0}.about-copy h2{font-size:26px}.about-art{padding:25px}.about-art>p:not(.eyebrow){font-size:17px}.about-copy>p:not(.eyebrow){font-size:11px}.steps{gap:25px}.steps h3{font-size:15px}.steps p{font-size:11px}.location{gap:5%}.map-container{height:370px}.location-copy .button{font-size:9px;padding:13px;gap:10px}.contact{padding:50px 6%}.contact-actions{min-width:200px}.contact .button{font-size:11px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top p,.footer-top>div>a:not(.brand){font-size:11px}}
/* Tablet: keep text readable instead of shrinking three product columns. */
@media (max-width: 800px) {
  .header { gap: 12px; }
  .brand-mark { flex-shrink: 0; }
  .menu-toggle { width: 44px; height: 44px; padding: 10px; align-items: center; justify-content: center; border-radius: 6px; flex-shrink: 0; }
  .menu-toggle span { transition: transform .2s, opacity .2s; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .header nav { max-height: calc(100dvh - 78px); overflow-y: auto; }
  .header nav a { min-height: 48px; display: flex; align-items: center; padding: 12px; border-radius: 5px; font-size: 14px; }
  .header nav a.active { background: #fff2e9; }
  .header-cta { min-height: 44px; display: inline-flex; align-items: center; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .product-card { display: flex; flex-direction: column; }
  .product-content { display: flex; flex-direction: column; flex: 1; padding: 20px 20px 0; }
  .product-content h3 { font-size: 18px; }
  .product-content h3 span { font-size: 12px; }
  .product-content p { font-size: 14px; line-height: 1.75; min-height: 0; flex: 1; }
  .product-link { min-height: 52px; font-size: 13px; }
  .tag { font-size: 9px; }
  .section-heading > p, .steps p, .about-copy > p:not(.eyebrow), .location-copy > p:not(.eyebrow) { font-size: 14px; }
  .catalog-note { font-size: 12px; }
  .text-link { min-height: 44px; font-size: 13px; }
  .floating-wa { min-width: 52px; min-height: 52px; justify-content: center; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .footer-top > div > a:not(.brand) { min-height: 36px; display: flex; align-items: center; }
}

/* Phones: one clear reading column and comfortably sized touch targets. */
@media (max-width: 600px) {
  html { scroll-padding-top: 88px; }
  .header { height: 72px; padding: 0 20px; gap: 8px; }
  .brand { font-size: 18px; gap: 8px; letter-spacing: .7px; }
  .brand-mark { width: 36px; height: 39px; font-size: 29px; }
  .brand-sub { font-size: 6px; letter-spacing: 1px; margin-top: 5px; }
  .header-cta { font-size: 11px; padding: 10px 12px; white-space: nowrap; }
  .header nav { top: 72px; max-height: calc(100dvh - 72px); padding: 12px 20px 20px; }
  .hero { display: flex; flex-direction: column; min-height: 0; }
  .hero-copy { padding: 38px 20px 28px; width: 100%; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 1px; line-height: 1.8; margin-bottom: 18px; align-items: flex-start; }
  .hero .eyebrow > span { flex-shrink: 0; margin-top: 5px; }
  h1 { font-size: clamp(31px, 8.5vw, 46px); line-height: 1.2; letter-spacing: -1.3px; }
  .hero-description { font-size: 15px; line-height: 1.8; margin: 20px 0 24px; max-width: none; }
  .hero-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .hero-actions .button { min-height: 50px; padding: 13px 18px; font-size: 14px; justify-content: space-between; }
  .hero .text-link { justify-content: center; min-height: 48px; font-size: 13px; border: 1px solid #ffffff30; border-radius: 4px; }
  .hero-note { display: grid; grid-template-columns: 15px 1fr; font-size: 11px; gap: 5px 7px; line-height: 1.7; margin-top: 20px; }
  .hero-note .note-line { display: none; }
  .hero-visual { margin: 0 20px 24px; min-height: 0; height: 310px; flex-shrink: 0; }
  .hero-product { height: 230px; width: 67%; margin-top: -38px; transform: rotate(-9deg) translateX(18px); }
  .hero-visual:before { width: 235px; height: 235px; }
  .visual-label { top: 18px; left: 18px; font-size: 8px; letter-spacing: 1.2px; }
  .visual-caption { left: 14px; right: 14px; bottom: 31px; padding: 11px 14px; gap: 12px; max-width: none; }
  .caption-icon { padding: 3px 11px; font-size: 23px; }
  .visual-caption strong { font-size: 12px; }
  .visual-caption strong br { display: none; }
  .visual-caption div > span { font-size: 10px; }
  .visual-index { bottom: 10px; right: 16px; font-size: 7px; letter-spacing: 1px; }
  .benefits { grid-template-columns: 1fr; padding: 6px 20px; gap: 0; }
  .benefits > div { justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--line); padding: 15px 0; gap: 15px; }
  .benefit-icon { width: 28px; text-align: center; flex-shrink: 0; font-size: 25px; }
  .benefits div > span:last-child { font-size: 13px; }
  .benefits strong { display: block; font-size: 12px; margin: 2px 0 0; }
  .section { padding: 48px 20px; }
  .section-heading { display: block; margin-bottom: 26px; }
  .section-heading > p { margin-top: 16px; font-size: 14px; line-height: 1.75; }
  .section-heading > p br { display: none; }
  .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: 1.5px; margin-bottom: 14px; }
  h2 { font-size: clamp(27px, 7vw, 34px); letter-spacing: -.9px; line-height: 1.3; }
  .product-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .product-card { border-radius: 8px; }
  .product-image { height: clamp(250px, 72vw, 330px); padding: 45px 36px 26px; }
  .tag { font-size: 9px; top: 16px; left: 18px; padding: 5px 9px; }
  .product-content { padding: 22px 20px 0; }
  .product-content h3 { font-size: 21px; }
  .product-content h3 span { display: inline; font-size: 13px; }
  .product-content p { font-size: 14px; min-height: 0; margin: 12px 0 20px; }
  .product-link { font-size: 13px; padding: 17px 0; min-height: 56px; }
  .catalog-note { font-size: 12px; max-width: 330px; margin: 22px auto 0; line-height: 1.8; }
  .about { grid-template-columns: minmax(0, 1fr); padding-top: 0; gap: 28px; }
  .about-art { padding: 26px; }
  .about-art > p:not(.eyebrow) { font-size: 21px; margin: 18px 0 26px; }
  .large-mark { font-size: 100px; }
  .about-art:after { right: -125px; }
  .art-bottom { font-size: 8px; letter-spacing: .6px; gap: 10px; }
  .about-copy h2 { font-size: clamp(26px, 7vw, 32px); }
  .about-copy > p:not(.eyebrow) { font-size: 15px; line-height: 1.8; margin-top: 17px; }
  .about-copy .text-link { margin-top: 18px; font-size: 14px; }
  .process { padding-top: 0; }
  .steps { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 24px; }
  .steps > div { position: relative; padding: 20px 0 0 44px; }
  .steps > div > span { position: absolute; left: 0; top: 21px; font-size: 14px; }
  .steps h3 { font-size: 18px; margin: 0 0 8px; }
  .steps p { font-size: 14px; line-height: 1.8; max-width: none; }
  .location { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .location-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; max-width: none; }
  .location-copy .address { font-size: 15px !important; }
  .location-copy .button { width: 100%; min-height: 50px; font-size: 12px; padding: 13px 16px; justify-content: space-between; gap: 12px; }
  .map-container { height: 320px; }
  .map-label { left: 12px; right: 12px; bottom: 12px; padding: 12px; gap: 12px; }
  .map-label strong { font-size: 13px; }
  .map-label small { font-size: 11px; }
  .contact { display: block; padding: 44px 20px; }
  .contact .eyebrow { font-size: 9px; letter-spacing: 1.3px; }
  .contact h2 { font-size: clamp(26px, 7vw, 34px); }
  .contact p:not(.eyebrow) { font-size: 14px; line-height: 1.8; max-width: none; margin-top: 18px; }
  .contact-actions { margin-top: 26px; max-width: none; min-width: 0; gap: 14px; }
  .contact-actions .button { min-height: 52px; font-size: 14px; justify-content: space-between; padding: 14px 18px; }
  .phone-link { border: 1px solid #ffffff30; border-radius: 4px; padding: 13px 18px; min-height: 70px; font-size: 14px; }
  .phone-link small { font-size: 13px; margin-top: 2px; }
  footer { padding: 38px 20px 20px; }
  .footer-top { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .footer-top h3 { font-size: 14px; margin-bottom: 10px; }
  .footer-top p { font-size: 13px; line-height: 1.8; margin-top: 14px; }
  .footer-top > div > a:not(.brand) { font-size: 13px; margin-bottom: 3px; min-height: 38px; }
  .footer-bottom { flex-direction: column; gap: 9px; padding-bottom: calc(65px + env(safe-area-inset-bottom, 0px)); font-size: 11px; line-height: 1.8; margin-top: 28px; }
  .floating-wa { right: 16px; padding: 12px; }
  .floating-wa span { display: none; }
}

@media (max-width: 360px) {
  .header { padding: 0 16px; gap: 6px; }
  .header .brand { font-size: 16px; gap: 6px; }
  .header .brand-sub { font-size: 5.5px; letter-spacing: .5px; }
  .header .brand-mark { width: 31px; height: 35px; font-size: 26px; }
  .header-cta { font-size: 10px; padding: 10px; }
  .hero-copy { padding-left: 16px; padding-right: 16px; }
  .hero-visual { margin-left: 16px; margin-right: 16px; }
  .hero .eyebrow { font-size: 8px; }
  .visual-caption { padding: 10px; gap: 8px; }
  .visual-caption strong { font-size: 11px; }
  .visual-caption div > span { font-size: 9px; }
  .section, .contact { padding-left: 16px; padding-right: 16px; }
  .product-content h3 span { display: block; margin-top: 3px; }
}

@media (hover: none) {
  .button:hover, .product-card:hover, .floating-wa:hover { transform: none; }
  .product-card:hover img { transform: none; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readability: consistent type sizes and stronger contrast across devices. */
:root {
  --muted: #52616d;
  --accent-text: #aa4610;
}
body { font-size: 16px; line-height: 1.75; }
p { text-wrap: pretty; }
.eyebrow { font-size: 12px; color: var(--accent-text); letter-spacing: 1.3px; }
.header nav { font-size: 14px; gap: 22px; }
.header nav a:hover, .header nav a.active { color: var(--accent-text); }
.button, .button-small { font-size: 14px; min-height: 48px; }
.brand-sub { font-size: 10px; letter-spacing: 1px; }
.hero .eyebrow { font-size: 12px; letter-spacing: 1px; }
.hero-description { font-size: 16px; color: #d1dde5; line-height: 1.8; max-width: 480px; }
.text-link, .hero .text-link { font-size: 14px; min-height: 44px; }
.text-link:hover, .product-link:hover, .footer-top > div > a:hover { color: var(--accent-text); }
.hero .text-link:hover { color: #ffc093; }
.hero-note { font-size: 12px; color: #c6d4de; flex-wrap: wrap; }
.hero-note .check { color: #ffc093; }
.visual-label, .visual-index { font-size: 11px; color: #465b56; letter-spacing: 1px; }
.visual-caption strong { font-size: 15px; }
.visual-caption div > span { font-size: 12px; }
.benefits div > span:last-child { font-size: 15px; }
.benefits strong { font-size: 13px; }
.benefit-icon { color: var(--accent-text); }
.section-heading > p { font-size: 16px; line-height: 1.8; max-width: 410px; }
.product-card { display: flex; flex-direction: column; }
.product-content { display: flex; flex-direction: column; flex: 1; }
.product-content h3 { font-size: 21px; }
.product-content h3 span { font-size: 15px; }
.product-content p { font-size: 16px; line-height: 1.8; min-height: 0; flex: 1; }
.product-link { font-size: 14px; min-height: 56px; gap: 12px; }
.product-link span { color: var(--accent-text); }
.tag { font-size: 12px; letter-spacing: .7px; }
.product-number { font-size: 12px; color: #52616d; }
.catalog-note { font-size: 14px; }
.about-art > .eyebrow { font-size: 12px; letter-spacing: 1.5px; }
.art-bottom { font-size: 11px; letter-spacing: .7px; gap: 12px; }
.about-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.steps > div > span { font-size: 15px; color: var(--accent-text); }
.steps h3 { font-size: 20px; }
.steps p { font-size: 16px; line-height: 1.8; max-width: 330px; }
.location-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; max-width: 440px; }
.location-copy .address { font-size: 16px !important; }
.location-copy .button { font-size: 14px; }
.map-label strong { font-size: 15px; }
.map-label small { font-size: 13px; }
.contact .eyebrow { font-size: 12px; color: #ffc093; letter-spacing: 1px; }
.contact p:not(.eyebrow) { font-size: 16px; color: #d1dde5; }
.contact-actions { min-width: 260px; }
.contact .button { font-size: 15px; }
.phone-link { font-size: 15px; min-height: 56px; }
.phone-link small { font-size: 14px; color: #d1dde5; }
.phone-link:hover { color: #ffc093; }
.footer-top { grid-template-columns: 1fr .8fr 1.1fr 1.2fr; }
.footer-top .brand { font-size: 21px; }
.footer-top .brand-sub { font-size: 9px; letter-spacing: .6px; }
.footer-top h3 { font-size: 15px; }
.footer-top p, .footer-top > div > a:not(.brand) { font-size: 14px; line-height: 1.8; }
.footer-top > div > a:not(.brand) { min-height: 40px; display: flex; align-items: center; margin-bottom: 3px; }
.footer-bottom { font-size: 12px; color: var(--muted); padding-bottom: 52px; }
.floating-wa { font-size: 14px; }
@media (max-width: 1200px) {
  .header { height: 78px; padding: 0 5%; gap: 16px; }
  .header .brand { font-size: 21px; }
  .header .brand-sub { font-size: 9px; letter-spacing: .8px; }
  .header-cta { margin-left: auto; padding: 11px 16px; }
  .menu-toggle { display: flex; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 10px; border: 0; background: transparent; order: 3; flex-shrink: 0; }
  .menu-toggle span { width: 23px; height: 2px; background: var(--ink); transition: transform .2s, opacity .2s; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .header nav { display: none; position: absolute; top: 78px; left: 0; right: 0; padding: 12px 5% 20px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 20px #102c4010; max-height: calc(100dvh - 78px); overflow-y: auto; }
  .header nav.is-open { display: flex; flex-direction: column; gap: 0; }
  .header nav a { padding: 12px; min-height: 48px; font-size: 16px; }
  .header nav a.active { background: #fff2e9; border-radius: 4px; }
  .header nav a.active:after { display: none; }
  .hero-actions { align-items: flex-start; }
  .hero-note .note-line { display: none; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 48px 6% 32px; }
  .hero-description { max-width: 600px; }
  .hero-visual { min-height: 360px; margin: 0 6% 32px; }
  .hero-product { height: 300px; width: 60%; }
  .hero-note { margin-top: 24px; }
  .benefits { grid-template-columns: 1fr; padding: 8px 6%; }
  .benefits > div { justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--line); padding: 14px 0; }
  .about, .location { grid-template-columns: 1fr; gap: 32px; }
  .about-copy h2 { font-size: 34px; }
  .steps { grid-template-columns: 1fr; gap: 24px; }
  .steps p { max-width: none; }
  .contact { flex-direction: column; align-items: stretch; }
  .contact-actions { max-width: 400px; }
}
@media (max-width: 600px) {
  .header { height: 72px; padding: 0 20px; gap: 8px; }
  .header .brand { font-size: 18px; }
  .header .brand-sub { display: none; }
  .header-cta { font-size: 12px; min-height: 44px; padding: 10px 12px; }
  .header nav { top: 72px; max-height: calc(100dvh - 72px); padding: 12px 20px 20px; }
  .hero .eyebrow { font-size: 11px; letter-spacing: .6px; }
  .hero-actions { align-items: stretch; }
  .hero-actions .button, .hero .text-link { font-size: 15px; }
  .hero-note { display: grid; font-size: 12px; }
  .hero-description { font-size: 16px; }
  .hero-visual { height: 330px; }
  .hero-product { margin-top: -55px; }
  .visual-label, .visual-index { font-size: 10px; }
  .visual-caption { gap: 10px; bottom: 34px; }
  .visual-caption strong { font-size: 13px; line-height: 1.5; }
  .visual-caption strong br { display: initial; }
  .visual-caption div > span { font-size: 12px; line-height: 1.5; margin-top: 5px; }
  .caption-icon { flex-shrink: 0; }
  .benefits strong { font-size: 14px; }
  .eyebrow { font-size: 12px; }
  .section-heading > p { max-width: none; }
  .product-content h3 { font-size: 22px; }
  .product-content h3 span { font-size: 15px; }
  .product-link { font-size: 15px; }
  .catalog-note { max-width: none; font-size: 14px; }
  .steps h3 { font-size: 20px; }
  .steps p { max-width: none; }
  .location-copy .button { font-size: 14px; }
  .contact .eyebrow { font-size: 11px; }
  .contact-actions { min-width: 0; }
  .contact-actions .button { font-size: 16px; }
  .phone-link { font-size: 16px; }
  .phone-link small { font-size: 15px; }
  .footer-top { grid-template-columns: 1fr; gap: 26px; }
  .footer-top .brand-sub { display: none; }
  .footer-top > div > a:not(.brand) { min-height: 44px; }
  .footer-bottom { font-size: 12px; padding-bottom: calc(65px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 360px) {
  .header { padding: 0 16px; gap: 6px; }
  .header .brand { font-size: 16px; }
  .header-cta { font-size: 12px; padding: 10px; }
  .visual-caption { left: 10px; right: 10px; padding: 10px; }
  .visual-caption strong { font-size: 13px; }
  .visual-caption div > span { font-size: 12px; }
  .caption-icon { padding: 3px 7px; }
}
/* Blend the light photo background into the catalog surface. */
.product-image { isolation: isolate; display: flex; align-items: center; justify-content: center; }
.product-image img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin-inline: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: brightness(1.06);
  clip-path: inset(2px);
}
