:root{
  --navy:#0A1D4D;--hema:#2E3A8C;--green:#00B4A3;--dab:#A66A3C;--eosin:#E06AAE;
  --paper:#F7F2E8;--paper-light:#FBFAF7;--ink:#172038;--muted:#687084;--line:#DED7CA;
  --display:"Newsreader",Georgia,serif;--body:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.58;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid rgba(0,180,163,.35);outline-offset:3px;border-radius:4px}.container{width:min(1180px,calc(100% - 2.2rem));margin:0 auto}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--green);font-weight:600}.section{padding:clamp(3.5rem,7vw,6.5rem) 0}.section-head{max-width:760px;margin-bottom:2rem}.section-head h2{font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.08;margin:.45rem 0 .8rem;color:var(--navy)}.section-head p{color:var(--muted);font-size:1.02rem;margin:0}
header{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:70px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:.55rem;white-space:nowrap}.brand strong{font-family:var(--display);font-weight:500;font-size:1.5rem;color:var(--navy)}.brand span{font-family:var(--mono);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:1.35rem}nav a{text-decoration:none;font-size:.87rem;color:var(--muted)}nav a:hover{color:var(--navy)}.header-cta{border:0;background:var(--navy);color:white;border-radius:9px;padding:.64rem .95rem;font-weight:600;display:inline-flex;gap:.5rem;align-items:center}.header-cta:hover{background:var(--hema)}.count{font-family:var(--mono);font-size:.7rem;background:var(--green);padding:.08rem .38rem;border-radius:999px}.menu-btn{display:none;border:1px solid var(--line);background:var(--paper-light);border-radius:8px;padding:.55rem .7rem;color:var(--navy);font-weight:600}.brand-logo{height:42px;max-height:42px;width:auto;max-width:300px;display:block;object-fit:contain}
@media(max-width:900px){nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper-light);border-bottom:1px solid var(--line);padding:1rem 1.1rem;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu-btn{display:inline-flex}.brand span{display:none}}
.hero{padding:clamp(4rem,10vw,8rem) 0 3rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:4rem;align-items:end}.hero h1{font-family:var(--display);font-weight:400;color:var(--navy);font-size:clamp(3rem,7vw,5.6rem);line-height:.98;letter-spacing:-.025em;margin:.8rem 0 1.35rem;max-width:11ch}.hero h1 em{font-style:italic;color:var(--hema)}.hero .lede{font-size:1.14rem;color:var(--muted);max-width:58ch;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:.82rem 1.2rem;font-weight:600;border:1px solid transparent}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--hema)}.btn-secondary{border-color:var(--line);background:var(--paper-light);color:var(--navy)}.btn-secondary:hover{border-color:var(--navy)}.hero-note{background:var(--navy);color:white;border-radius:18px;padding:1.6rem;position:relative;overflow:hidden}.hero-note:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--green);right:-100px;top:-100px;opacity:.22}.hero-note .mono{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:#9de7de}.hero-note p{font-family:var(--display);font-size:1.45rem;line-height:1.24;margin:.65rem 0 0}@media(max-width:780px){.hero-grid{grid-template-columns:1fr;gap:2rem}.hero h1{max-width:12ch}}
.philosophy{background:var(--paper-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.principle{padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:white}.icon{width:58px;height:58px;border-radius:12px;background:rgba(0,180,163,.08);display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:1rem}.icon svg{width:36px;height:36px}.principle h3{font-family:var(--display);font-size:1.22rem;font-weight:500;color:var(--navy);margin:0 0 .45rem}.principle p{font-size:.9rem;color:var(--muted);margin:0}@media(max-width:900px){.principles{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.principles{grid-template-columns:1fr}}
.categories{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.category{position:relative;border:1px solid var(--line);background:var(--paper-light);border-radius:18px;padding:1.55rem;min-height:240px;display:flex;flex-direction:column}.category .num{font-family:var(--mono);font-size:.68rem;color:var(--green);text-transform:uppercase;letter-spacing:.12em}.category h3{font-family:var(--display);font-size:1.65rem;color:var(--navy);font-weight:500;margin:.55rem 0}.category p{color:var(--muted);margin:0 0 1.1rem}.category a{margin-top:auto;font-weight:600;text-decoration:none;color:var(--hema)}
.teaser{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}.tcard{border:1px solid var(--line);border-radius:16px;background:var(--paper-light);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .16s,box-shadow .16s}.tcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(10,29,77,.45)}.tcard .pic{aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line)}.tcard .pic img{width:100%;height:100%;object-fit:cover;display:block}.tcard .body{padding:1rem 1.1rem 1.2rem}.tcard h3{font-family:var(--display);font-weight:500;font-size:1.2rem;color:var(--navy);margin:0 0 .2rem}.tcard .spec{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin:0}.teaser-foot{margin-top:1.6rem}@media(max-width:900px){.teaser{grid-template-columns:1fr 1fr}}@media(max-width:600px){.teaser{grid-template-columns:1fr}}
.consulting{background:var(--paper-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.consulting-card{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;border:1px solid var(--line);border-radius:18px;padding:1.7rem;background:white}.consulting-card h2{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--navy);margin:.45rem 0 .8rem;line-height:1.08}.consulting-card p{color:var(--muted);margin:0 0 1rem}.consulting-list{display:grid;gap:.55rem;margin:0;padding-left:1.1rem;color:var(--muted)}.consulting-side{border-left:1px solid var(--line);padding-left:2rem}.consulting-side strong{font-family:var(--display);font-size:1.35rem;color:var(--navy);font-weight:500}.consulting-side p{margin:.55rem 0 1rem}@media(max-width:760px){.consulting-card{grid-template-columns:1fr}.consulting-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.3rem}}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem}.about-card{border:1px solid var(--line);background:var(--paper-light);border-radius:16px;padding:1.5rem}.about-card h3{font-family:var(--display);font-size:1.5rem;color:var(--navy);font-weight:500;margin:0 0 .65rem}.about-card p{color:var(--muted);margin:.55rem 0}.about-card ul{color:var(--muted);padding-left:1.15rem;margin:.6rem 0 0;display:grid;gap:.4rem}@media(max-width:760px){.about-grid{grid-template-columns:1fr}}
.contact{background:var(--navy);color:white}.contact .section-head h2{color:white}.contact .section-head p{color:#cbd2e2}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-card{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:15px;padding:1.3rem}.contact-card .label{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#8be0d6}.contact-card strong,.contact-card a{display:block;color:white;font-size:1.05rem;margin-top:.35rem;text-decoration:none}@media(max-width:650px){.contact-grid{grid-template-columns:1fr}}footer{padding:1.8rem 0;background:#071536;color:#adb7cd;font-size:.82rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.subnav{position:sticky;top:69px;z-index:40;background:rgba(247,242,232,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.subnav-inner{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 0;align-items:center}.subnav .lbl{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-right:.2rem;white-space:nowrap}.subnav a{white-space:nowrap;text-decoration:none;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;background:var(--paper-light)}.subnav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.subnav a.top{margin-left:auto}.pintro{padding:clamp(2.4rem,5vw,3.4rem) 0 1rem}.pintro h1{font-family:var(--display);font-weight:400;color:var(--navy);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.03;margin:.5rem 0 .7rem}.pintro p{color:var(--muted);max-width:60ch;margin:0}.cat{scroll-margin-top:130px;padding:2.2rem 0}.cat+.cat{border-top:1px solid var(--line)}.cat-head h2{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,3.2vw,2.2rem);color:var(--navy);margin:0 0 .35rem}.cat-head .num{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}.cat-head p{color:var(--muted);max-width:60ch;margin:.3rem 0 0}.category-guide{max-width:820px;margin:1.25rem 0 .4rem;border:1px solid var(--line);border-radius:12px;background:var(--paper-light)}.category-guide summary{cursor:pointer;padding:.8rem 1rem;font-family:var(--mono);font-size:.76rem;font-weight:600;color:var(--navy);letter-spacing:.02em}.category-guide-body{padding:0 1rem 1rem}.category-guide-body p,.category-guide-body li{color:var(--muted);font-size:.86rem}.category-guide-body ul{margin:.6rem 0 .8rem;padding-left:1.2rem}.category-guide-body li{margin:.25rem 0}.prow{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2.2rem;align-items:start;padding:1.8rem 0}.prow+.prow{border-top:1px solid var(--line)}@media(max-width:820px){.prow{grid-template-columns:1fr;gap:1.2rem}}.pmain{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.pmain img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.pthumbs{display:flex;gap:.5rem;margin-top:.55rem;flex-wrap:wrap}.pthumb{width:66px;height:52px;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;background:#fff}.pthumb.active{border:2px solid var(--green)}.pthumb img{width:100%;height:100%;object-fit:cover;display:block}.pinfo .num{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dab)}.pinfo h3{font-family:var(--display);font-weight:500;font-size:1.55rem;color:var(--navy);margin:.15rem 0 .5rem}.pinfo .short{color:var(--muted);margin:0 0 1rem}.price-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.price-row .price{font-family:var(--mono);font-size:1.5rem;font-weight:600;color:var(--navy)}.price-row .vat{font-size:.75rem;color:var(--muted)}.sku-line{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-bottom:1rem}.variants{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.variant{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.44rem .7rem;font-size:.8rem;color:var(--navy)}.variant.active{border-color:var(--navy);background:var(--navy);color:#fff}.pspecs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 1.1rem}.pspecs div{background:var(--paper-light);padding:.6rem .75rem}.pspecs b{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.pspecs span{font-size:.86rem}.pbuy{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.stepper{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.stepper button{width:2rem;height:2rem;border:0;background:white;color:var(--navy)}.stepper input{width:2.2rem;border:0;text-align:center;font-family:var(--mono);background:white;color:var(--navy)}.add-btn{border:0;border-radius:8px;background:var(--navy);color:white;padding:.58rem .78rem;font-weight:600}.detail-link{font-weight:600;text-decoration:none;color:var(--hema);font-size:.86rem}.ruo-note,.price-note,.avail-note,.help{font-size:.75rem;color:var(--muted)}.src-label{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dab);margin:0 0 .5rem}.pbuy .status{position:static;color:#fff;font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;padding:.28rem .5rem;border-radius:6px}.pbuy .status.in{background:var(--green)}.pbuy .status.low{background:var(--dab)}.pbuy .status.out{background:#8a8578}.pbuy .status.unknown,.pbuy .status.custom{background:#e9e4da;color:var(--navy)}
.scrim{position:fixed;inset:0;background:rgba(4,12,32,.52);opacity:0;visibility:hidden;transition:.2s;z-index:60}.scrim.open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;width:min(440px,100%);height:100%;background:var(--paper);z-index:70;transform:translateX(100%);transition:.28s;display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(0,0,0,.2)}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.3rem;border-bottom:1px solid var(--line)}.drawer-head h3{font-family:var(--display);font-weight:500;font-size:1.4rem;color:var(--navy);margin:0}.close-btn{border:0;background:none;font-size:1.4rem;color:var(--muted)}.drawer-body{flex:1;overflow:auto;padding:1rem 1.3rem}.drawer-foot{padding:1rem 1.3rem;border-top:1px solid var(--line)}.empty{color:var(--muted);text-align:center;padding:3rem 1rem}.line-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.line-item strong{display:block;color:var(--navy)}.line-item small{color:var(--muted)}.remove{border:0;background:none;color:var(--dab);text-decoration:underline;font-size:.8rem;padding:0;margin-top:.35rem}.full-btn{width:100%;border:0;border-radius:9px;background:var(--green);color:white;padding:.85rem;font-weight:700}.full-btn:disabled{opacity:.45}.note{font-size:.76rem;color:var(--muted);text-align:center;margin:.6rem 0 0}.sheet{position:fixed;inset:0;background:var(--paper);z-index:80;transform:translateY(100%);visibility:hidden;transition:.3s;overflow:auto}.sheet.open{transform:translateY(0);visibility:visible}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.3rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.sheet-head h3{font-family:var(--display);font-size:1.45rem;color:var(--navy);margin:0}.form-grid{width:min(920px,calc(100% - 2rem));margin:2rem auto 3rem;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem}fieldset{border:0;padding:0;margin:0 0 1.4rem}legend{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:.8rem}.field{margin-bottom:.85rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.3rem}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper-light);padding:.68rem .75rem;color:var(--ink)}textarea{min-height:110px;resize:vertical}.invalid{border-color:var(--dab)!important;background:#fff4ed!important}.summary-card{border:1px solid var(--line);border-radius:15px;background:var(--paper-light);padding:1.25rem;position:sticky;top:92px}.summary-card h4{font-family:var(--display);font-size:1.2rem;color:var(--navy);font-weight:500;margin:0 0 .8rem}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.87rem}.confirm{max-width:520px;margin:0 auto;padding:clamp(3rem,9vw,5.5rem) 1.2rem;text-align:center}.confirm .seal{width:76px;height:76px;border-radius:14px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem}.confirm .seal svg{width:40px;height:40px}.confirm h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,4vw,2.4rem);color:var(--navy);margin:0 0 .7rem}.confirm p{color:var(--muted)}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.summary-card{position:static}}
/* detail pages: extension of the same design system */
.detail-wrap{padding:2.4rem 0 5rem}.breadcrumb{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-bottom:1.3rem}.detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.2rem;align-items:start}.detail-gallery .main-photo{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.detail-gallery .main-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.detail-copy{background:var(--paper-light);border:1px solid var(--line);border-radius:16px;padding:1.4rem}.detail-copy h1{font-family:var(--display);font-weight:500;color:var(--navy);font-size:clamp(2rem,4vw,3rem);line-height:1.02;margin:.35rem 0 .8rem}.detail-copy .short{color:var(--muted)}.detail-price{font-family:var(--mono);font-size:1.55rem;font-weight:600;color:var(--navy);margin:1rem 0}.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:1rem 0}.detail-specs div{background:#fff;padding:.7rem}.detail-specs b{display:block;font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.detail-tabs{margin-top:2.8rem;border-top:1px solid var(--line)}.detail-section{padding:2rem 0;border-bottom:1px solid var(--line);max-width:820px}.detail-section h2{font-family:var(--display);font-weight:500;color:var(--navy);font-size:1.8rem;margin:0 0 .7rem}.detail-section p,.detail-section li{color:var(--muted)}.spec-table{width:100%;border-collapse:collapse;background:var(--paper-light);border:1px solid var(--line);border-radius:12px;overflow:hidden}.spec-table td{padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}.spec-table td:first-child{width:38%;color:var(--muted)}@media(max-width:820px){.detail-hero{grid-template-columns:1fr}.detail-specs{grid-template-columns:1fr 1fr}}

/* ---------- launch polish: product-led hero + web-ready logo ---------- */
.hero-side{display:grid;gap:.85rem;align-self:stretch}
.hero-product{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:1rem;text-decoration:none;background:var(--paper-light);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--navy);transition:transform .16s,box-shadow .16s}
.hero-product:hover{transform:translateY(-2px);box-shadow:0 14px 32px -22px rgba(10,29,77,.45)}
.hero-product img{width:128px;height:104px;object-fit:cover;display:block;background:#fff}
.hero-product span{display:grid;gap:.18rem;padding:.85rem .9rem .85rem 0}
.hero-product b{font-family:var(--display);font-weight:500;font-size:1.05rem;line-height:1.15}
.hero-product small{font-family:var(--mono);font-size:.66rem;line-height:1.45;color:var(--muted)}
@media(max-width:900px){.brand-logo{height:38px;max-height:38px;max-width:250px}}
@media(max-width:560px){.brand-logo{height:34px;max-height:34px;max-width:205px}.hero-product{grid-template-columns:104px 1fr}.hero-product img{width:104px;height:92px}}

/* ---------- v6 homepage: product-first commercial hierarchy ---------- */
.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.workflow-card{border:1px solid var(--line);border-radius:18px;background:var(--paper-light);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s}
.workflow-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(10,29,77,.45)}
.workflow-card .visual{aspect-ratio:16/10;background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.workflow-card .visual img{width:100%;height:100%;object-fit:cover;display:block}
.workflow-card .copy{padding:1.25rem 1.3rem 1.35rem;display:flex;flex-direction:column;flex:1}
.workflow-card .num{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.workflow-card h3{font-family:var(--display);font-size:1.5rem;line-height:1.08;font-weight:500;color:var(--navy);margin:.45rem 0 .5rem}
.workflow-card p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.workflow-card .go{margin-top:auto;color:var(--hema);font-weight:600;font-size:.88rem}
@media(max-width:880px){.workflow-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.workflow-grid{grid-template-columns:1fr}}

.featured-strip{background:var(--paper-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.featured-products{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.featured-product{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s}
.featured-product:hover{transform:translateY(-2px);box-shadow:0 14px 30px -22px rgba(10,29,77,.45)}
.featured-product .pic{aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line)}
.featured-product .pic img{width:100%;height:100%;object-fit:cover;display:block}
.featured-product .body{padding:1rem;display:flex;flex-direction:column;flex:1}
.featured-product .type{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:.35rem}
.featured-product h3{font-family:var(--display);font-size:1.18rem;line-height:1.12;font-weight:500;color:var(--navy);margin:0 0 .65rem}
.featured-product .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:.6rem}
.featured-product .price{font-family:var(--mono);font-size:.88rem;color:var(--navy);font-weight:600}
.featured-product .stock{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#11665E}
@media(max-width:980px){.featured-products{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.featured-products{grid-template-columns:1fr}}

.philosophy-lead{max-width:760px;margin-bottom:2rem}
.philosophy-lead .brand-line{font-family:var(--display);font-size:clamp(2.3rem,5vw,3.8rem);font-weight:400;line-height:1.02;color:var(--navy);margin:.45rem 0 .9rem}
.philosophy-lead .brand-line em{font-style:italic;color:var(--hema)}

.story-band .story a{color:#fff;font-weight:600;text-decoration:none}
.story-band .story a:hover{text-decoration:underline}

.hero-product-stack{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.75rem}
.hero-product-stack a{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:#fff}
.hero-product-stack img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.hero-side .hero-note{margin-bottom:.75rem}
@media(max-width:780px){.hero-product-stack{grid-template-columns:1fr 1fr}}


/* ---------- v7 flat full-width homepage header ---------- */
.hero-flat{padding:clamp(2.8rem,6vw,4.4rem) 0 1.75rem;border-bottom:1px solid var(--line)}
.hero-flat .container{width:min(1320px,calc(100% - 2.2rem))}
.hero-flat h1{max-width:none;margin:.7rem 0 1rem;font-size:clamp(2.7rem,6vw,4.8rem)}
.hero-flat .lede{max-width:72ch;font-size:1.12rem}
.hero-flat .hero-actions{margin-top:1.45rem}
.hero-trust{margin:1rem 0 0;color:var(--muted);font-size:.96rem}
@media(max-width:780px){.hero-flat{padding:2.5rem 0 1.2rem}.hero-flat h1{max-width:12ch;font-size:clamp(2.3rem,9vw,3.4rem)}.hero-flat .lede{font-size:1.03rem}.hero-trust{font-size:.92rem}}


/* ---------- v9 compact premium scientific-supplier header ---------- */
.hero-flat{padding:2.35rem 0 1.55rem;background:linear-gradient(180deg,rgba(251,250,247,.72),rgba(247,242,232,.35));border-bottom:1px solid var(--line)}
.hero-flat .container{width:min(1180px,calc(100% - 2.2rem))}
.hero-flat .eyebrow{display:flex;align-items:center;gap:.7rem;color:var(--hema);letter-spacing:.16em}
.hero-flat .eyebrow:after{content:"";height:1px;width:54px;background:var(--line)}
.hero-flat h1{font-size:clamp(2.75rem,5.2vw,4.35rem);line-height:.98;letter-spacing:-.032em;max-width:1020px;margin:.62rem 0 1.25rem}
.hero-flat-lower{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.25rem;align-items:end;border-top:1px solid var(--line);padding-top:1.05rem}
.hero-flat-copy{max-width:760px}
.hero-flat .lede{font-size:1.06rem;line-height:1.52;max-width:68ch}
.hero-flat .hero-actions{margin:0;justify-content:flex-end;align-items:center}
.hero-flat .btn{padding:.72rem 1.05rem;border-radius:7px}
.hero-trust{font-family:var(--mono);text-transform:uppercase;letter-spacing:.075em;font-size:.66rem;color:var(--muted);margin:.68rem 0 0}
@media(max-width:820px){.hero-flat{padding:2.05rem 0 1.3rem}.hero-flat-lower{grid-template-columns:1fr;gap:1rem}.hero-flat .hero-actions{justify-content:flex-start}.hero-flat h1{max-width:13ch;margin-bottom:1rem}}
@media(max-width:520px){.hero-flat .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-flat .btn{width:100%;padding:.7rem .6rem}.hero-flat .eyebrow:after{width:32px}.hero-trust{line-height:1.55}}


/* ---------- v10 homepage image normalization ---------- */
/* Use a fixed visual box and contain the whole product rather than cropping it.
   This keeps the apparent magnification much more consistent across products. */
.workflow-card .visual,
.featured-product .pic{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
}
.workflow-card .visual img,
.featured-product .pic img{
  width:88%;
  height:88%;
  object-fit:contain;
  object-position:center;
  display:block;
}
@media(max-width:600px){
  .workflow-card .visual img,
  .featured-product .pic img{
    width:90%;
    height:90%;
  }
}

/* ---------- v11 product-detail gallery normalization ---------- */
/* All product-detail images use the same visual frame and internal scale.
   contain avoids crop/zoom differences between differently shaped source photos. */
.detail-gallery .main-photo{
  aspect-ratio:4/3;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
}
.detail-gallery .main-photo img{
  width:88%;
  height:88%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  display:block;
}
.detail-gallery .pthumb{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.detail-gallery .pthumb img{
  width:86%;
  height:86%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:600px){
  .detail-gallery .main-photo img{width:90%;height:90%}
  .detail-gallery .pthumb img{width:88%;height:88%}
}


/* ---------- v12 products catalogue image normalization ---------- */
/* Normalize image scale on products.html catalogue rows. */
.pmain{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.pmain img{
  width:88%;
  height:88%;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#fff;
}
.pthumb{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.pthumb img{
  width:88%;
  height:88%;
  object-fit:contain;
  object-position:center;
  display:block;
}
@media(max-width:600px){
  .pmain img,.pthumb img{width:90%;height:90%;}
}


/* v16: four workflow families */
@media(min-width:1051px){.workflow-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1050px) and (min-width:601px){.workflow-grid{grid-template-columns:repeat(2,1fr)}}


/* ---------- v18 Why Easy Like IHC story page + homepage teaser ---------- */
.story-teaser{background:linear-gradient(180deg,rgba(247,242,232,.56),rgba(255,255,255,.86))}
.story-teaser-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem;align-items:start}
.story-teaser-copy p{max-width:66ch}
.story-teaser-quote{border:1px solid var(--line);background:var(--paper-light);border-radius:18px;padding:1.35rem 1.4rem}
.story-teaser-quote blockquote{margin:0;font-family:var(--display);font-size:1.5rem;line-height:1.22;color:var(--navy)}
.story-teaser-quote p{margin:.85rem 0 0;color:var(--muted)}
.story-teaser-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.05rem}
.about-story-link{display:inline-block;margin-top:.9rem;font-weight:600;text-decoration:none;color:var(--navy)}
.about-story-link:hover{text-decoration:underline}
.story-page-hero{padding:clamp(2.8rem,5vw,4rem) 0 2rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(251,250,247,.84),rgba(247,242,232,.34))}
.story-page-hero .intro{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end}
.story-page-hero h1{font-size:clamp(2.65rem,5.5vw,4.5rem);line-height:.98;letter-spacing:-.03em;margin:.55rem 0 1rem}
.story-page-hero .lede{font-size:1.08rem;max-width:69ch}
.story-page-pull{border:1px solid var(--line);background:var(--paper-light);border-radius:18px;padding:1.35rem 1.4rem}
.story-page-pull blockquote{margin:0;font-family:var(--display);font-size:1.65rem;line-height:1.17;color:var(--navy)}
.story-page-pull p{margin:.75rem 0 0;color:var(--muted)}
.story-flow{display:grid;gap:1.15rem}
.story-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1.15rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--line)}
.story-step:first-child{border-top:none;padding-top:0}
.story-num{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper-light);border:1px solid var(--line);font-family:var(--mono);font-size:.8rem;color:var(--hema)}
.story-step h2{margin:.15rem 0 .55rem}
.story-step p{max-width:72ch}
.story-quote{margin:1rem 0 0;border-left:4px solid var(--dab);padding:.35rem 0 .35rem 1rem;color:var(--navy);font-style:italic}
.story-outcome{background:var(--navy);color:#fff}
.story-outcome h2,.story-outcome p{color:#fff}
.story-outcome .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.story-outcome .btn-secondary:hover{background:rgba(255,255,255,.07)}
@media(max-width:860px){.story-teaser-grid,.story-page-hero .intro{grid-template-columns:1fr}.story-page-pull,.story-teaser-quote{order:2}.story-step{grid-template-columns:1fr}.story-num{width:56px;height:56px}}

/* v19: In progress is a development journal, not an additional shop category. */
.progress-home{background:linear-gradient(180deg,#FBFAF7 0%,#F7F2E8 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.progress-home-heading{display:flex;justify-content:space-between;gap:1.4rem;align-items:end;margin-bottom:1.6rem}
.progress-home-heading .section-head{margin:0}.progress-quiet-link{flex:0 0 auto;white-space:nowrap;text-decoration:none;font-size:.91rem;font-weight:600;color:var(--hema);padding-bottom:.35rem}.progress-quiet-link:hover{text-decoration:underline}
.progress-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.progress-mini{min-width:0;min-height:274px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;padding:1.25rem;background:#fff;text-decoration:none;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.progress-mini:hover,.progress-mini:focus-visible{transform:translateY(-2px);border-color:#a6aab8;box-shadow:0 10px 24px -19px rgba(10,29,77,.4)}
.progress-icon{width:72px;height:72px;background:#F4F7F7;border:1px solid #D5E4E1;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.progress-icon img{width:60px;height:60px;object-fit:contain}.progress-mini-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;gap:.5rem;margin-top:1rem}
.progress-mini-number,.progress-detail-number{font:600 .63rem var(--mono);text-transform:uppercase;letter-spacing:.09em;color:#36746C}
.progress-mini-copy strong{font:500 1.4rem/1.13 var(--display);color:var(--navy)}.progress-mini-copy>span:nth-of-type(2){color:var(--muted);font-size:.86rem;line-height:1.5}.progress-mini-link{margin-top:auto;padding-top:.55rem;font-size:.83rem;color:var(--hema);font-weight:600}
.progress-home-foot{margin:1rem 0 0;font-size:.79rem;color:var(--muted)}
.progress-hero{padding:clamp(2.8rem,6vw,4.7rem) 0 2.4rem;background:linear-gradient(180deg,#FBFAF7,#F7F2E8);border-bottom:1px solid var(--line)}
.progress-hero h1{font:400 clamp(2.6rem,5.3vw,4.5rem)/1.02 var(--display);max-width:20ch;letter-spacing:-.025em;color:var(--navy);margin:.65rem 0 1rem}
.progress-hero-lede{max-width:69ch;font-size:1.12rem;color:var(--muted);margin:0 0 1.25rem}
.progress-disclaimer{padding:.85rem 1.1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;max-width:73ch;font-size:.87rem;color:var(--muted);margin:0}.progress-disclaimer strong{color:var(--navy)}
.progress-page-jump{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:1.25rem 0 0}.progress-page-jump span{font:.65rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-right:.2rem}
.progress-page-jump a{border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;text-decoration:none;font-size:.78rem;background:#fff;color:var(--hema)}.progress-page-jump a:hover{border-color:var(--hema)}
.progress-page-section{background:var(--paper-light)}.progress-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.progress-detail{min-width:0;border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,3vw,1.7rem);background:#fff;scroll-margin-top:110px;display:flex;flex-direction:column}
.progress-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.progress-icon-large{width:90px;height:90px}.progress-icon-large img{width:74px;height:74px}.progress-project-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}
.progress-label{display:inline-flex;border:1px solid #C7DDD7;background:#F1F9F6;border-radius:999px;color:#276456;padding:.24rem .65rem;font:.68rem var(--mono)}
.progress-detail h2{font:500 clamp(1.6rem,2.6vw,2.1rem)/1.12 var(--display);color:var(--navy);margin:1rem 0 .55rem}.progress-lead{font-size:.97rem;color:var(--muted);margin:0 0 1.2rem}
.progress-detail-points{display:grid;gap:.9rem;padding-top:.8rem;border-top:1px solid var(--line);flex:1}.progress-detail-points h3{font:.66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#36746C;margin:0 0 .3rem}.progress-detail-points p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.54}
.progress-feedback{display:inline-block;align-self:flex-start;margin-top:1.25rem;padding-top:.6rem;font-weight:600;text-decoration:none;font-size:.83rem;color:var(--hema)}.progress-feedback:hover{text-decoration:underline}
.progress-end{background:var(--navy);color:#fff}.progress-end-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.progress-end h2{font:400 clamp(1.9rem,3.7vw,2.8rem)/1.05 var(--display);margin:.45rem 0 .7rem}.progress-end p{max-width:65ch;color:#D1D8E8;margin:0}.progress-end .btn-secondary{background:#fff;color:var(--navy);white-space:nowrap}.progress-end-note{font-size:.83rem;margin-top:1.2rem!important}.progress-end-note a{color:#fff}
header nav a[aria-current="page"]{color:var(--navy);font-weight:600}
@media(max-width:1140px){header nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper-light);border-bottom:1px solid var(--line);padding:1rem 1.1rem;flex-direction:column;align-items:flex-start;max-height:calc(100vh - 70px);overflow:auto}header nav.open{display:flex}header .menu-btn{display:inline-flex}header .brand span{display:none}}
@media(max-width:1050px){.progress-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-mini{min-height:235px}}
@media(max-width:720px){.progress-home-heading{display:block}.progress-quiet-link{display:inline-block;margin-top:1.05rem}.progress-detail-grid{grid-template-columns:1fr}.progress-end-inner{display:block}.progress-end .btn{margin-top:1.15rem;white-space:normal}.progress-page-jump{align-items:flex-start}}
@media(max-width:540px){.progress-mini-grid{grid-template-columns:1fr}.progress-mini{min-height:0;flex-direction:row;gap:1rem}.progress-icon{width:60px;height:60px;border-radius:12px}.progress-icon img{width:48px;height:48px}.progress-mini-copy{margin:0}.progress-detail-top .progress-icon{width:84px;height:84px}.progress-detail-top .progress-icon img{width:67px;height:67px}}
/* Keep the in-page project jump links horizontal; the site's generic mobile nav rules target all nav tags. */
.progress-page-jump{position:static;left:auto;right:auto;top:auto;background:transparent;border:0;padding:0;flex-direction:row;align-items:center;max-height:none;overflow:visible}
@media(max-width:900px){.progress-page-jump{display:flex;position:static;left:auto;right:auto;top:auto;background:transparent;border:0;padding:0;flex-direction:row;align-items:center}}
