@font-face{font-family:Editorial;src:local('Georgia')}*{box-sizing:border-box} :root{--paper:#f5f3ee;--white:#fcfbf8;--ink:#232621;--muted:#60645c;--line:#d7d7ce;--soft:#e8e8df;--accent:#484f40}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}:focus-visible{outline:2px solid var(--accent)}img{display:block;width:100%;height:auto}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Editorial,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5.3vw,78px)}h2{font-size:clamp(34px,3.8vw,54px)}h3{font-size:20px;font-weight:500;line-height:1.3}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.demo-bar{background:var(--ink);color:#f5f3ee;text-align:center;font-size:11px;letter-spacing:.1em;padding:7px 16px}.header{border-bottom:1px solid var(--line);background:var(--paper)}.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:28px}.logo{font-size:27px;letter-spacing:.18em;font-weight:600}.logo small{display:block;font-size:9px;font-weight:400;letter-spacing:.22em}.navigation{display:flex;align-items:center;gap:36px;font-size:13px}.navigation a[aria-current=page]{border-bottom:1px solid}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:49px;padding:12px 23px;background:var(--ink);color:var(--white);border:1px solid var(--ink);font-size:13px;transition:background .2s,color .2s}.btn:hover{background:var(--accent)}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--soft)}.btn.light{background:var(--white);color:var(--ink);border-color:var(--white)}.arrow{font-size:20px}.menu{display:none;background:none;border:1px solid var(--line);padding:10px 14px}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center;padding:64px 0 72px}.hero h1 em{font-weight:400;color:var(--muted)}.hero-copy>p{max-width:420px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.hero-visual{position:relative}.hero-visual img{height:540px;object-fit:cover}.caption{font-size:10px;letter-spacing:.1em;margin-top:12px;text-transform:uppercase;color:var(--muted)}.hero-foot{font-size:11px;letter-spacing:.07em;border-top:1px solid var(--line);padding-top:22px;margin-top:36px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.strip .wrap{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}section.section{padding:88px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}.section-head h2{margin-bottom:0}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card-image{overflow:hidden;background:var(--soft)}.card-image img{aspect-ratio:1/1.13;object-fit:cover;transition:transform .45s}.product-card:hover img{transform:scale(1.025)}.product-card .meta{display:flex;justify-content:space-between;gap:10px;padding-top:19px}.product-card h3{margin-bottom:7px}.product-card p{font-size:12px;margin:0}.tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.category-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.category-links a{padding:24px 0;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:27px;display:flex;justify-content:space-between;margin-right:28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>img{height:540px;object-fit:cover}.soft{background:var(--soft)}.feature{padding:22px 0;border-bottom:1px solid #cbcdc2}.feature h3{margin-bottom:8px}.feature p{margin:0;font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step{border-top:1px solid var(--line);padding-top:22px}.step .number{font-family:Georgia,serif;font-size:30px;color:var(--muted);margin-bottom:30px}.step p{font-size:13px}.note{font-size:12px;border-left:2px solid #777e6e;padding:10px 16px;background:rgba(255,255,255,.35)}.cta{background:var(--ink);padding:65px 0;color:var(--white)}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{max-width:600px;margin-bottom:16px}.cta p{color:#c6c8bd;margin:0}.footer{padding:48px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:32px;padding-bottom:40px}.footer-top p{font-size:12px;max-width:330px;margin-top:20px}.footer-nav{display:flex;gap:28px;font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px}.page-intro{padding:70px 0 46px;max-width:800px}.page-intro h1{margin-bottom:22px}.page-intro p{max-width:610px}.filters{display:flex;gap:12px;flex-wrap:wrap;padding:0 0 24px}.filters button{border:1px solid var(--line);background:none;color:var(--muted);padding:10px 22px;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}#count{font-size:12px;margin-bottom:24px}.catalog{padding-bottom:88px}.breadcrumb{font-size:12px;padding-top:32px;color:var(--muted)}.detail{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding:38px 0 75px}.main-photo{aspect-ratio:1/1;object-fit:cover}.thumbs{display:flex;gap:12px;margin-top:15px}.thumbs button{width:90px;padding:3px;background:transparent;border:1px solid var(--line)}.thumbs button[aria-pressed=true]{border-color:var(--ink)}.thumbs img{height:80px;object-fit:cover}.detail h1{font-size:56px;margin:20px 0}.detail-copy{padding-top:15px}dl{margin:32px 0}dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0}.check-list{padding-left:20px;color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-bottom:80px}.contact-info h2{font-size:32px}.contact-channel{padding:26px 0;border-bottom:1px solid var(--line)}.contact-channel button{background:none;border:0;padding:0;text-align:left}.contact-channel small{display:block;color:var(--muted);margin-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;margin-bottom:20px}input,select,textarea{width:100%;background:var(--white);border:1px solid var(--line);padding:13px 15px;margin-top:8px;border-radius:0;color:var(--ink)}textarea{resize:vertical;min-height:155px}.status{font-size:13px;color:var(--ink);margin-top:20px;min-height:25px}.full-banner img{height:480px;object-fit:cover}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.quality-grid>div{border-top:1px solid var(--line);padding-top:25px}.quality-grid p{font-size:14px}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero-visual img{height:600px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:32px}.hero-visual img{height:480px}.navigation{gap:20px}.split{gap:40px}.contact-grid{gap:45px}.detail{gap:35px}.detail h1{font-size:44px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav-row{min-height:78px}.menu{display:block}.navigation{display:none;position:absolute;left:0;right:0;top:111px;z-index:5;padding:25px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.navigation.open{display:flex}.demo-bar{font-size:9px;padding:8px;min-height:33px}.hero{grid-template-columns:1fr;padding:42px 0;gap:24px}.hero h1{font-size:49px}.hero-visual img{height:380px}.hero-foot{margin-top:20px}.strip .wrap{flex-wrap:wrap;font-size:10px;gap:12px 20px}.grid3,.split,.detail,.contact-grid{grid-template-columns:1fr}.grid3{gap:36px}.section-head{align-items:start;flex-direction:column;gap:22px}section.section{padding:55px 0}.category-links{grid-template-columns:1fr}.category-links a{margin:0}.steps,.quality-grid{grid-template-columns:1fr 1fr;gap:24px}.step .number{margin-bottom:16px}.split>img{height:380px}.cta{padding:48px 0}.cta .wrap{align-items:start;flex-direction:column;gap:28px}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding-top:45px}.detail{padding-top:25px;gap:30px}.detail h1{font-size:44px}.contact-grid{gap:35px}.form-row{grid-template-columns:1fr;gap:0}.full-banner img{height:330px}.quality-grid{grid-template-columns:1fr}.contact-info{order:2}.filters{gap:8px}.filters button{padding:9px 14px}.footer-nav{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Additions use the retained ivory, warm gray and dark palette. */
.header{position:relative}
.logo{font-size:24px;letter-spacing:.12em}
.brand-image{width:180px;max-height:55px;object-fit:contain;object-position:left center}
.brand-disclosure{display:block;font-size:11px;letter-spacing:0;margin-top:12px;color:var(--muted)}
.section-summary{max-width:360px;font-size:14px;margin:0}
.service-overview .note,.credentials+.note{margin-top:30px;margin-bottom:0}
.demo-label{display:inline-block;font-size:11px;line-height:1.6;color:var(--accent);border:1px solid var(--line);padding:7px 11px;max-width:360px}
.quality-grid .demo-label{margin-top:8px}
.document-placeholder{background:var(--soft);border:1px dashed #a4a89a;min-height:145px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-bottom:24px;text-align:center;padding:20px}
.document-placeholder span{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.document-placeholder strong{font-size:13px;font-weight:400}
.spec-note{font-size:13px}
.field-hint{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}
#inquiry-context{margin-top:0;margin-bottom:24px}
.detail .actions{gap:12px;margin-bottom:16px}
@media(max-width:700px){.navigation{top:100%}.nav-row{gap:16px}.hero h1{font-size:clamp(42px,12.6vw,49px)}.demo-label{max-width:100%}.brand-image{max-width:165px}.detail .actions .btn{gap:16px}}

/* Mobile refinement only. Desktop composition and existing color tokens are retained. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.icon-arrow{width:.7321875em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.menu-close-icon{display:none}
.menu[aria-expanded=true] .menu-open-icon{display:none}
.menu[aria-expanded=true] .menu-close-icon{display:block}

@media(max-width:700px){
  body{font-size:15.5px;line-height:1.55}
  .wrap{width:auto;margin-left:max(20px,env(safe-area-inset-left));margin-right:max(20px,env(safe-area-inset-right))}
  .hero>*,.split>*,.detail>*,.contact-grid>*,.grid3>*,.quality-grid>*,.steps>*{min-width:0}
  h1,h2,h3,p,dd{overflow-wrap:break-word}
  h1{font-size:38px;line-height:1.12}
  h2{font-size:30px;line-height:1.12}
  h3{font-size:19px;line-height:1.3}
  .demo-bar{font-size:8.5px;line-height:1.4;letter-spacing:.035em;min-height:0;padding:calc(5px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-left)) 5px}
  .nav-row{min-height:64px;gap:12px}
  .logo{font-size:21px;line-height:1.3;letter-spacing:.1em;min-height:44px;display:inline-flex;flex-direction:column;justify-content:center}
  .logo small{font-size:8px;letter-spacing:.16em;margin-top:2px}
  .brand-image{width:160px;max-height:42px}
  .menu{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;flex-shrink:0;border:0;color:var(--ink);background:transparent;-webkit-appearance:none;appearance:none}
  .navigation{top:100%;z-index:30;gap:4px;padding:12px max(20px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom));box-shadow:0 10px 20px #2326210d;max-height:calc(100vh - var(--menu-top,86px));max-height:calc(100svh - var(--menu-top,86px));max-height:calc(100dvh - var(--menu-top,86px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .navigation:not(.open){display:none}
  .navigation.open{display:flex}
  .navigation>a{min-height:44px;display:flex;align-items:center;padding:10px 0;color:var(--ink)}
  .navigation>a.btn{justify-content:space-between;margin-top:8px;padding:0 16px}
  button,input,select,textarea{-webkit-appearance:none;appearance:none}
  button{color:var(--ink)}
  .btn{min-height:46px;padding:0 17px;font-size:13px;line-height:1.4;gap:14px}
  button.btn{color:var(--white)}
  .arrow{font-size:18px;line-height:1;display:inline-flex;align-items:center;flex-shrink:0}
  .icon-arrow{width:16px;height:16px}
  .hero{padding:24px 0 30px;gap:0;align-items:start}
  .hero-copy{display:contents}
  .hero h1{font-size:clamp(36px,10.25vw,42px);line-height:1.12;margin:0 0 16px}
  .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.13em;margin-bottom:12px}
  .hero-copy>p{font-size:15.5px;line-height:1.55;margin:0;max-width:none}
  .hero .actions{gap:8px 16px;margin:20px 0 16px;align-items:center}
  .hero .actions .btn:first-child{padding:0 16px}
  .hero .actions .btn.outline{padding:0;gap:8px;background:transparent;border:0;text-decoration:underline;text-underline-offset:5px}
  .hero-foot{order:1;padding-top:12px;margin-top:16px;font-size:10px;line-height:1.5;letter-spacing:.04em}
  .brand-disclosure{font-size:12px;line-height:1.5;margin-top:8px}
  .hero-visual img{height:auto;aspect-ratio:1.16 / 1;object-fit:cover;object-position:50% 52%}
  .caption{font-size:12px;line-height:1.5;letter-spacing:.03em;margin-top:10px}
  .strip{padding:16px 0}
  .strip .wrap{font-size:11px;line-height:1.5;gap:10px 20px}
  section.section{padding:40px 0}
  .section-head{gap:16px;margin-bottom:24px}
  .section-head>p,.section-summary{font-size:15px;line-height:1.55}
  .text-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;white-space:normal}
  .grid3{gap:28px}
  .card-image img{aspect-ratio:1 / 1;object-fit:cover;object-position:center}
  .product-card .meta{padding-top:14px;gap:12px}
  .product-card h3{font-size:20px;margin-bottom:6px}
  .product-card p{font-size:13px;line-height:1.5}
  .category-links a{font-size:25px;padding:16px 0;min-height:64px;align-items:center}
  .category-links .icon-arrow{font-size:18px}
  .split{gap:28px}
  .split>div>img{aspect-ratio:1 / 1;object-fit:cover;object-position:center}
  .feature{padding:18px 0}
  .feature p,.step p,.quality-grid p{font-size:15px;line-height:1.55}
  .steps{gap:24px 20px}
  .step{padding-top:16px}
  .step .number{font-size:26px;margin-bottom:14px}
  .quality-grid{gap:28px}
  .quality-grid>div{padding-top:20px}
  .note,.demo-label,.field-hint,.spec-note,.document-placeholder strong{font-size:12px;line-height:1.55}
  .demo-label{letter-spacing:0;padding:7px 10px}
  .document-placeholder{min-height:120px;margin-bottom:20px}
  .cta{padding:36px 0}
  .cta .wrap{gap:24px}
  .cta h2{font-size:30px;line-height:1.12}
  .cta p{font-size:15px}
  .footer{padding:36px 0 calc(20px + env(safe-area-inset-bottom))}
  .footer-top{gap:24px;padding-bottom:24px}
  .footer-top p{font-size:13px;line-height:1.55;margin-top:14px}
  .footer-nav{gap:8px 20px}
  .footer-nav a{min-width:44px;min-height:44px;display:inline-flex;align-items:center}
  .footer-bottom{font-size:12px;line-height:1.5;gap:10px;padding-top:18px}
  .page-intro{padding:32px 0 28px}
  .page-intro h1{font-size:38px;line-height:1.12;margin-bottom:18px}
  .page-intro p{font-size:15.5px;line-height:1.55}
  .page-intro .note{font-size:12px}
  .full-banner img{height:auto;aspect-ratio:3 / 2;object-fit:cover;object-position:50% 55%}
  .filters{gap:8px;padding-bottom:16px}
  .filters button{min-height:44px;padding:10px 14px;line-height:1.4;font-size:13px}
  #count{font-size:13px;margin-bottom:22px}
  .catalog{padding-bottom:40px}
  .breadcrumb{padding-top:18px;font-size:12px;line-height:1.5}
  .breadcrumb a{min-width:44px;min-height:44px;display:inline-flex;align-items:center}
  .detail{padding:18px 0 32px;gap:24px}
  .main-photo{aspect-ratio:1 / 1;object-fit:cover;object-position:center}
  .thumbs{gap:10px;margin-top:12px}
  .thumbs button{width:76px;min-height:76px;padding:3px}
  .thumbs img{height:68px;object-fit:cover}
  .detail-copy{padding-top:0}
  .detail h1{font-size:38px;line-height:1.12;margin:12px 0 18px}
  .detail h2{font-size:28px!important;line-height:1.15}
  dl{margin:24px 0}
  dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;font-size:13px;padding:12px 0}
  .check-list{font-size:15px;line-height:1.55;padding-left:20px}
  .detail .actions{margin:22px 0 16px;gap:12px}
  .contact-grid{gap:32px;padding-bottom:40px}
  .contact-info h2{font-size:30px}
  .contact-channel{padding:18px 0}
  .contact-channel button{color:var(--ink)}
  .contact-channel small{font-size:12px;line-height:1.5}
  label{font-size:13px;line-height:1.5;margin-bottom:18px}
  input,select,textarea{font-size:16px;line-height:1.5;min-height:48px;padding:11px 12px;margin-top:7px;max-width:100%;min-width:0}
  select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23232621' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
  textarea{min-height:144px}
  .status{font-size:13px;line-height:1.55}
}
