/* Interior pages share the homepage's typefaces and ink / paper palette. */
:root{--service-surface:var(--paper);--service-ink:var(--ink);--service-muted:#242424;--service-rule:#aaa;--service-dark-rule:#555;--service-serif:Serif,Georgia,serif;--service-mono:Mono,'Courier New',monospace}
.service-page{background:var(--service-ink);color:var(--service-surface);font:300 22px/1.5 var(--service-serif);font-synthesis:none}
.service-page h1,.service-page h2,.service-page h3{font-family:var(--service-serif);font-weight:300;margin:0;letter-spacing:-.04em;text-wrap:balance}
.service-page p{max-width:52ch}.service-meta{font:12px/1.6 var(--service-mono);letter-spacing:.025em}
.service-masthead{padding:150px 5.5% 70px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:5vw;align-items:center}
.service-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:26px}
.service-page h1{font-size:clamp(64px,7.4vw,118px);line-height:.98;max-width:8ch}
.service-deck{font-size:clamp(29px,3.2vw,48px);line-height:1.13;margin-top:28px;letter-spacing:-.025em}
.service-description{font-size:23px;line-height:1.5;margin-top:22px;max-width:34ch!important}
.service-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:52px;padding:15px 22px;background:var(--service-surface);color:var(--service-ink);font:13px/1.5 var(--service-mono);border:1px solid var(--service-surface);transition:background .2s,color .2s}
.service-intro>.service-button{margin-top:30px}.service-button:hover{background:var(--service-ink);color:var(--service-surface)}
.service-showcase{background:var(--service-surface);color:var(--service-ink);min-width:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.service-showcase-label{position:absolute;top:22px;left:24px;right:24px;z-index:1}
.service-page .product-view{height:520px;margin:0;flex:1;min-height:480px}
.service-page .product-word{inset:auto auto 24px 24px;display:block;font:300 28px/1.1 var(--service-serif);color:var(--service-ink);letter-spacing:-.03em;z-index:1}
.service-page .model-host{inset:56px 0 110px}.service-page .viewer-controls{bottom:64px;left:24px;transform:none;gap:10px}
.service-page .viewer-controls button{width:48px;height:48px;font:20px var(--service-mono);border-color:var(--service-ink);color:var(--service-ink)}
.service-page .viewer-controls button:hover{background:var(--service-ink);color:var(--service-surface)}
.service-page .product-counter{bottom:74px;right:24px;font:12px var(--service-mono)}
.service-page .model-note{bottom:27px;right:24px;left:auto;color:var(--service-muted);font:10px var(--service-mono)}
.service-paper-art{height:500px;min-height:400px;position:relative;overflow:hidden;flex:1}
.sample-sheet{position:absolute;width:51%;height:65%;top:18%;left:10%;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;color:var(--service-ink);box-shadow:0 12px 24px #0002}
.sample-back{transform:rotate(-10deg)}.sample-front{background:var(--service-ink);color:var(--service-surface);transform:rotate(10deg);left:37%;top:24%}
.sample-caption{font:9px/1.5 var(--service-mono)}.sample-display{font:300 clamp(42px,4.7vw,80px)/.9 var(--service-serif);letter-spacing:-.05em}.sample-rule{border-top:1px solid currentColor;width:70%}
.sample-card{position:absolute;left:13%;bottom:10%;width:33%;aspect-ratio:1.7;background:#fff;border:1px solid var(--service-ink);padding:15px;transform:rotate(-7deg);box-shadow:0 8px 16px #0002;font:300 30px/.9 var(--service-serif)}.sample-card em{display:block}
.service-art-caption{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;font:11px/1.5 var(--service-mono)}
.service-navigation{padding:0 5.5%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--service-dark-rule);border-bottom:1px solid var(--service-dark-rule);font:13px/1.5 var(--service-mono)}
.service-navigation a{padding:24px 22px;min-height:68px;display:flex;justify-content:space-between;gap:16px;border-right:1px solid var(--service-dark-rule)}.service-navigation a:first-child{border-left:1px solid var(--service-dark-rule)}
.service-navigation a[aria-current=page]{opacity:1;background:var(--service-surface);color:var(--service-ink)}.service-navigation a:hover{text-decoration:underline;text-underline-offset:5px}
.service-products{background:var(--service-surface);color:var(--service-ink);padding:100px 5.5% 76px;display:grid;grid-template-columns:.95fr 1.05fr;gap:70px 5vw;scroll-margin-top:90px}
.service-section-heading h2{font-size:clamp(42px,4.5vw,70px);line-height:1.06;margin:24px 0}.service-section-heading>p:not(.service-meta){font-size:23px;line-height:1.5;max-width:31ch}
.service-product-list article{padding:25px 0;border-top:1px solid var(--service-rule)}.service-product-list article:first-child{padding-top:0;border-top:0}.service-product-list article:last-child{padding-bottom:0}
.service-product-list h3{font-size:34px;line-height:1.16}.service-product-list p{font-size:21px;line-height:1.5;color:var(--service-muted);margin-top:8px}
.service-material-note{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.6fr .7fr;align-items:start;gap:30px;padding-top:32px;border-top:1px solid var(--service-rule)}
.service-material-note>p:not(.service-meta){font-size:23px;line-height:1.5}.service-material-note a{font:13px/1.6 var(--service-mono);display:inline-flex;justify-content:space-between;gap:20px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.service-process{padding:90px 5.5%;background:var(--service-surface);color:var(--service-ink);border-top:1px solid var(--service-rule)}
.service-process .service-section-heading{display:flex;justify-content:space-between;gap:40px;align-items:start}.service-process .service-section-heading h2{margin:0;width:50%}
.service-process ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:60px 0 0;gap:40px}.service-process li{border-top:1px solid var(--service-rule);padding-top:22px}
.service-process h3{font-size:32px;line-height:1.15;margin:24px 0 12px}.service-process li p{font-size:21px;line-height:1.5;color:var(--service-muted)}
.service-cta{padding:90px 5.5% 70px}.service-cta h2{font-size:clamp(55px,7.5vw,112px);line-height:1.03;margin:28px 0 40px}.service-cta-links{display:flex;align-items:center;gap:30px}.service-cta-links>a:not(.service-button){font:14px/1.5 var(--service-mono);display:inline-flex;align-items:center;min-height:48px}.service-address{font:12px/1.7 var(--service-mono);margin-top:40px;max-width:62ch!important}
.service-page :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:5px}
body:has(.service-page) .registration{display:none}body:has(.service-page) .frame-footer{position:relative;inset:auto;bottom:auto!important;padding:24px 5.5%;background:var(--service-ink);opacity:1;pointer-events:auto;border-top:1px solid var(--service-dark-rule);font-size:12px}
body:has(.service-page) header a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:5px}
/* Supporting interior pages: remove pale-on-pale text and the unrelated type system. */
.panel{font:300 22px/1.5 var(--service-serif);background:var(--service-surface);color:var(--service-ink)}
.panel-heading h2{font:300 clamp(38px,5vw,70px)/1.08 var(--service-serif);letter-spacing:-.04em}
.panel-heading>p{font:12px/1.6 var(--service-mono);color:var(--service-muted);letter-spacing:.02em;margin-top:20px}
.panel .lead{color:var(--service-muted);font:300 27px/1.5 var(--service-serif)}
.panel .feature h3,.panel .strengths h3,.panel .legal-copy h3{font:300 32px/1.15 var(--service-serif);letter-spacing:-.025em}
.panel .feature-sub{display:none}.panel .feature p,.panel .strengths p{font:300 22px/1.5 var(--service-serif)}
.panel .feature{min-height:330px;padding:28px}.panel .feature h3{margin-top:35px}.panel .feature-grid{margin-bottom:80px}.panel-links,.panel-bottom,.panel-link{font:13px/1.6 var(--service-mono)}
.panel>.panel-link{margin-left:5.5%}.panel .legal-copy{font:300 23px/1.5 var(--service-serif)}
@media(max-width:1100px){.service-masthead{gap:32px}.service-page h1{font-size:84px}.service-page .model-note{bottom:12px;font-size:9px}.service-page .product-word{bottom:35px}.service-page .viewer-controls{bottom:78px}.service-page .product-counter{bottom:94px}.service-material-note{grid-template-columns:1fr 2fr}.service-material-note a{grid-column:2}.service-process ol{gap:25px}}
@media(max-width:900px){.service-masthead{padding:100px 24px 48px;grid-template-columns:1fr;gap:40px}.service-back{margin-bottom:20px}.service-page h1{font-size:clamp(62px,12vw,100px);max-width:11ch}.service-deck{font-size:38px;margin-top:22px}.service-description{font-size:22px;max-width:40ch!important}.service-showcase{min-height:0}.service-page .product-view{height:440px;min-height:440px;flex:none}.service-page .product-word{font-size:28px!important}.service-page .model-note{font-size:10px;bottom:26px}.service-page .product-word{bottom:24px}.service-page .viewer-controls{bottom:64px}.service-page .product-counter{bottom:78px}.service-paper-art{height:480px;flex:none}.sample-display{font-size:72px}.service-navigation{padding:0 24px}.service-navigation a{padding:20px 12px;font-size:12px}.service-products{padding:64px 24px;gap:40px;grid-template-columns:1fr}.service-section-heading h2{font-size:52px}.service-section-heading>p:not(.service-meta){font-size:22px;max-width:40ch}.service-product-list article:first-child{padding-top:24px;border-top:1px solid var(--service-rule)}.service-product-list h3{font-size:32px}.service-material-note{grid-template-columns:1fr;gap:18px}.service-material-note a{grid-column:auto;justify-content:flex-start}.service-process{padding:64px 24px}.service-process .service-section-heading{display:block}.service-process .service-section-heading h2{margin-top:24px;width:auto}.service-process ol{grid-template-columns:1fr;margin-top:36px;gap:28px}.service-process h3{margin-top:18px}.service-cta{padding:64px 24px 50px}.service-cta h2{font-size:64px}.service-cta-links{align-items:flex-start;flex-direction:column;gap:16px}body:has(.service-page) .frame-footer{padding:24px;gap:8px}body:has(.service-page):has(.cookies:not([hidden])) .frame-footer{padding-bottom:100px}.panel .feature-grid{grid-template-columns:1fr 1fr}.panel .lead{font-size:24px}.panel .feature{padding:24px;min-height:310px}}
@media(max-width:480px){.service-deck{font-size:34px}.service-navigation{padding:0;grid-template-columns:1fr}.service-navigation a{min-height:52px;padding:16px 24px;border-right:0;border-bottom:1px solid var(--service-dark-rule)}.service-navigation a:first-child{border-left:0}.service-navigation a:last-child{border-bottom:0}.service-showcase-label{left:18px;top:18px;font-size:10px}.service-paper-art{height:350px;min-height:350px}.sample-sheet{padding:16px}.sample-display{font-size:48px}.sample-caption{font-size:7px}.sample-card{font-size:23px;padding:10px}.service-art-caption{padding:18px;font-size:9px;gap:10px}.service-page .product-view{height:380px;min-height:380px}.service-page .model-host{inset:48px 0 110px}.service-page .product-word{font-size:25px!important;left:18px;bottom:32px}.service-page .viewer-controls{left:18px;bottom:75px}.service-page .product-counter{right:18px;bottom:93px}.service-page .model-note{font-size:9px;left:18px;right:auto;bottom:14px}.service-section-heading h2{font-size:44px}.service-cta h2{font-size:56px}.panel .feature-grid{grid-template-columns:1fr}.panel .feature{min-height:0;border-right:0}.panel .feature h3{margin-top:22px}}

/* Shared home-page type roles; keep the current serif and monospace faces. */
:root{
  --type-small:.75rem;
  --type-body:1rem;
  --type-visual:7.5vw;
  --type-section:12.5vw;
}
@media(min-width:901px){
  .gateway h2,.gateway#pos h2{font-size:var(--type-section)}
  .story-text,.print-sheet,.grid-sheet,.contact-end .contact-big{font-size:var(--type-visual)}
  .contact-end,.contact-end .contact-bottom,.round,.cookies button{font-size:var(--type-body)}
  .contact-end .contact-bottom p{font-size:var(--type-small)}
}
@media(max-width:900px){
  :root{--type-visual:clamp(38px,10.5vw,70px)}
  .frame-footer,.cookies{font-size:var(--type-small)}
  .contact-end,.contact-end .contact-bottom,.contact-bottom address,.round,.cookies button{font-size:var(--type-body)}
  .hero .explore,.gateway .explore{font-size:1.5rem}
  .story-text,.print-sheet,.grid-sheet{font-size:var(--type-visual)}
}
