:root{--white:#fafaf6;--paper:#fffdf9;--blue:#719baf;--deep:#4d7181;--ink:#455b68;--coral:#d87d67;--yellow:#e2b760;--cyan:#83b8b6;--sheet:#eceae4;--graphite:#303536;--muted:#74797a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--graphite);font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{height:82px;padding:16px clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #deded7;position:relative;z-index:4;background:rgba(250,250,246,.94);backdrop-filter:blur(12px)}
.brand{display:flex;gap:10px;align-items:center;font-weight:750;line-height:1.05;letter-spacing:.05em;font-size:12px}
.mark{background:var(--graphite);color:#fff;padding:8px 10px;border-radius:50% 50% 8px 8px;font-size:17px}
.site-header nav{display:flex;gap:34px;font-size:14px}
.site-header nav a:hover,.text-link:hover{color:var(--coral)}
.header-cta,.button{display:inline-flex;gap:18px;align-items:center;background:var(--graphite);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:650}
.header-cta i{color:var(--yellow);font-style:normal}
.menu-toggle{display:none;border:0;background:none;font-size:25px}
.section{padding:120px clamp(20px,9vw,150px)}
.hero{min-height:740px;display:grid;grid-template-columns:42% 58%;padding:52px clamp(20px,5vw,80px) 80px;gap:30px}
.hero-copy{align-self:center;max-width:520px;padding-bottom:40px}
.eyebrow,.section-no{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--deep);margin:0 0 22px}
.hero h1,h2{font-size:clamp(40px,5.2vw,76px);line-height:1.01;letter-spacing:-.05em;margin:0 0 28px;font-weight:750}
.hero-copy>p:not(.eyebrow),.section-intro>p:not(.section-no),.desk-controls>p:not(.section-no),.slip-aside p:not(.section-no){color:var(--muted);max-width:430px}
.hero-actions{display:flex;gap:22px;align-items:center;margin-top:35px}
.button span{color:var(--yellow);font-size:18px}
.text-link{font-weight:650;text-decoration:underline;text-underline-offset:5px}
.hero-image{height:600px;position:relative;border-radius:190px 0 0 0;overflow:hidden}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(48,53,54,.32),transparent 50%)}
.hero-image p{position:absolute;z-index:2;right:25px;bottom:20px;color:white;font-size:11px;letter-spacing:.13em}
.signal-line{position:absolute;z-index:2;width:68%;height:35%;right:0;top:29%;border-left:2px solid var(--cyan);border-bottom:2px solid var(--cyan);border-radius:0 0 0 50px}
.section-intro{max-width:450px}
.bench{background:var(--paper);display:grid;grid-template-columns:34% 1fr;gap:9vw}
.bench-workspace{position:relative}
.device-tabs,.format-row,.slip-tabs{display:flex;flex-wrap:wrap;gap:8px}
.device-tabs button,.format-row button,.slip-tabs button,.finish-tray button,.signal-pills button,.strip button{font:inherit;border:1px solid #d4d6d2;background:transparent;border-radius:99px;padding:8px 12px;cursor:pointer}
.device-tabs button.active,.format-row button.active,.slip-tabs button.active,.finish-tray button.active,.signal-pills button.active,.strip button.active{background:var(--ink);border-color:var(--ink);color:white}
.bench figure{margin:28px 0 16px;height:350px;position:relative}
.bench figure img{border-radius:24px}
.bench figcaption{position:absolute;bottom:12px;left:12px;background:var(--paper);padding:7px 11px;font-size:13px}
.signal-pills{display:flex;gap:8px;flex-wrap:wrap}
.safety-note{margin-top:18px;padding:16px 18px;background:#fff1ec;border-left:4px solid var(--coral);font-size:14px}
.safety-note p{margin:4px 0 0}
.strip{padding:55px clamp(20px,9vw,150px);background:var(--cyan);display:grid;grid-template-columns:160px 1fr;align-items:center;gap:15px}
.strip p{font-size:11px;font-weight:700;letter-spacing:.14em}
.strip div{display:flex;align-items:center;gap:10px;overflow:auto}
.strip small{grid-column:2;color:var(--ink)}
.print-desk{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--sheet)}
.desk-image{min-height:660px;position:relative}
.desk-image span{position:absolute;left:24px;top:24px;background:var(--coral);color:white;padding:13px;font-weight:700;line-height:1.1}
.desk-controls{padding:clamp(45px,8vw,130px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.desk-controls h2{font-size:clamp(35px,4vw,60px)}
.desk-controls label{margin:24px 0 12px;display:grid;gap:8px;font-weight:600}
.desk-controls input{width:115px;padding:10px;border:1px solid #c8c8c0;border-radius:8px;font:inherit}
.desk-controls output{font-weight:700;color:var(--deep);margin-bottom:15px}
.desk-controls small{color:var(--muted);max-width:430px}
.output-wall{background:#f4f3ee}
.wall{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:235px;gap:14px;margin:50px 0 32px}
.wall figure{margin:0;position:relative;overflow:hidden}
.wall .tall{grid-row:span 2}
.wall figcaption{position:absolute;bottom:0;left:0;background:rgba(255,253,249,.92);padding:7px 11px;font-size:12px}
.ghost{background:transparent;border:1px solid var(--graphite);color:var(--graphite)}
.finish{display:grid;grid-template-columns:34% 1fr;gap:10vw}
.finish-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:start}
.finish-tray button{border-radius:4px;text-align:left}
.finish-tray img{grid-column:span 2;height:310px;margin-top:15px}
.finish-tray p{margin:28px 0 0;color:var(--muted);align-self:center}
.slip{background:var(--blue);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.slip-paper{background:var(--paper);padding:35px;box-shadow:20px 20px 0 rgba(48,53,54,.12);position:relative}
.slip-paper:before{content:"";position:absolute;top:0;right:0;width:30px;height:30px;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background:var(--blue)}
.slip-paper h3{font-size:32px;margin:28px 0}
.slip-paper dl{font-size:14px;border-top:1px solid #ddd}
.slip-paper dl div{display:flex}
.slip-paper dt,.slip-paper dd{padding:10px 0;border-bottom:1px solid #ddd;margin:0}
.slip-paper dt{color:var(--muted);width:38%}
.slip-paper dd{font-weight:600;width:62%}
.slip-paper .button{margin-top:25px}
.slip-aside{align-self:center}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.notes ul{margin:0;padding:0;list-style:none}
.notes li{padding:23px 0;border-top:1px solid #c9c9c3;font-size:18px}
.notes li span{color:var(--coral);margin-right:20px;font-size:12px}
.people{display:grid;grid-template-columns:55% 45%;background:var(--paper)}
.people>img{min-height:570px}
.people>div{padding:clamp(45px,8vw,130px);align-self:center}
.people h2{font-size:clamp(35px,4.5vw,63px)}
.final-cta{height:570px;position:relative;color:white}
.final-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(48,53,54,.7),transparent)}
.final-cta>div{position:absolute;z-index:1;top:50%;transform:translateY(-50%);left:clamp(20px,9vw,150px)}
.final-cta h2{font-size:clamp(42px,5vw,70px)}
footer{padding:45px clamp(20px,5vw,80px);display:flex;justify-content:space-between;gap:20px;background:var(--graphite);color:white;font-size:13px}
footer p{margin:0;color:#d5d9d6}
.page-hero{padding:110px clamp(20px,9vw,150px) 70px;background:var(--sheet)}
.page-hero h1{font-size:clamp(48px,7vw,90px);line-height:.96;letter-spacing:-.06em;margin:0;max-width:780px}
.photo-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 clamp(20px,9vw,150px) 90px;background:var(--sheet)}
.photo-rail img{height:240px}
.service-flow{padding:110px clamp(20px,9vw,150px);display:grid;gap:60px}
.service-item{display:grid;grid-template-columns:42% 1fr;gap:7vw;align-items:center}
.service-item:nth-child(even){direction:rtl}
.service-item:nth-child(even)>*{direction:ltr}
.service-item img{height:390px}
.service-item h2{font-size:42px}
.service-item p{color:var(--muted);max-width:440px}
.detail-grid{padding:80px clamp(20px,9vw,150px);display:grid;grid-template-columns:1fr 1fr;gap:20px}
.detail-grid img{height:350px}
.print-gallery{padding:80px clamp(20px,9vw,150px);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.print-gallery img{height:280px}
.request{padding:80px clamp(20px,18vw,300px)}
.request form{display:grid;gap:18px}
.request label{display:grid;gap:8px;font-weight:600}
.request input,.request textarea,.request select{font:inherit;padding:13px;border:1px solid #c9c9c3;background:var(--paper);border-radius:4px}
.request textarea{min-height:140px}
.notice{padding:16px;background:#eef4f4;border-left:4px solid var(--cyan);font-size:14px}
.contact-grid{padding:80px clamp(20px,9vw,150px);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.contact-media{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-media img{height:480px}
.contact-media img:last-child{margin-top:58px;height:390px}
@media(max-width:760px){.site-header nav,.header-cta{display:none}
.menu-toggle{display:block}
.site-header.menu-open nav{position:absolute;display:flex;top:81px;left:0;right:0;padding:25px;flex-direction:column;background:var(--paper);box-shadow:0 12px 20px #0002}
.hero{grid-template-columns:1fr;padding-top:30px;min-height:auto}
.hero-copy{padding-bottom:0}
.hero-image{height:380px;border-radius:90px 0 0 0}
.section{padding:78px 20px}
.bench,.finish,.slip,.notes,.people,.print-desk,.contact-grid{grid-template-columns:1fr}
.bench{gap:42px}
.strip{display:block;padding:32px 20px}
.strip small{display:block;margin-top:13px}
.desk-image{min-height:370px}
.wall{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
.finish-tray{grid-template-columns:1fr}
.finish-tray img{grid-column:auto}
.slip-aside{order:-1}
.people>img{min-height:360px}
.photo-rail{grid-template-columns:1fr 1fr}
.photo-rail img{height:180px}
.service-item,.service-item:nth-child(even){grid-template-columns:1fr;direction:ltr}
.service-item img{height:290px}
.detail-grid,.print-gallery{grid-template-columns:1fr 1fr;padding:45px 20px}
.print-gallery img{height:190px}
.page-hero{padding:80px 20px 45px}
.request{padding:50px 20px}
footer{display:grid}
.hero-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
