/* Yash Printers – light editorial theme. Palette: navy 031926 · teal 468189 · sage 77ACA2 · mist 9DBEBB · cream F4E9CD, CMYK accents from the logo */
:root{--paper:#fbf7ea;--cream:#f4e9cd;--navy:#031926;--teal:#468189;--sage:#77aca2;--mist:#9dbebb;--ink:#031926;--mute:#4d6a6f;--line:rgba(3,25,38,.16);--cy:#1e9be3;--ma:#d6197e;--ye:#f6d800;--gr:#a9cb4f;--r:18px;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bg:var(--paper);--bg2:var(--cream);--card:#fff;--gold:var(--teal);--c:var(--cy);--m:var(--ma);--y:var(--ye)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}
h1,h2,h3{line-height:1.08;letter-spacing:-.025em;color:var(--navy)}
h2{font-size:clamp(28px,4.4vw,52px);text-transform:uppercase;font-weight:800;margin-bottom:12px}
h3{font-size:19px;font-weight:700}
p{color:var(--mute)}
section{padding:96px 0;position:relative}
.mono,.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--teal);font-weight:600}
.eyebrow::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--navy) 75%)}
.lead{font-size:18px;max-width:640px}
.sec-head{margin-bottom:46px}.sec-head.c{text-align:center}.sec-head.c .lead{margin:0 auto}
.grad{color:var(--teal)}
.ruled{border-top:1px solid var(--line)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;border:1.5px solid transparent;cursor:pointer;transition:.3s;font-family:inherit}
.btn.p{background:var(--navy);color:#fff}
.btn.p:hover{background:var(--teal);transform:translateY(-3px);box-shadow:0 12px 28px rgba(3,25,38,.22)}
.btn.g{border-color:var(--navy);color:var(--navy);background:transparent}
.btn.g:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
.btn.wa{background:#25a65a;color:#fff}.btn.wa:hover{transform:translateY(-3px)}
.btn.y{background:var(--cream);color:var(--navy)}.btn.y:hover{background:#fff}

/* header */
header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(251,247,234,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:.3s}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;transition:.3s}
header.s .wrap{height:64px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;letter-spacing:.05em;color:var(--navy)}
.logo img{height:46px;width:auto;transition:.3s}header.s .logo img{height:38px}
.logo small{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.22em;color:var(--teal);margin-top:1px}
nav{display:flex;align-items:center;gap:4px}
nav a.l{padding:9px 16px;border-radius:999px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);transition:.25s}
nav a.l:hover,nav a.l.on{background:var(--navy);color:#fff}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--navy);margin:6px auto;transition:.3s}

/* hero (simple, image background) */
.hero{padding:96px 16px 0;min-height:auto}
.hero-frame{position:relative;border-radius:26px;overflow:hidden;min-height:min(78vh,720px);display:flex;align-items:flex-end;isolation:isolate;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;z-index:-2;animation:slow 22s ease-in-out infinite alternate}
@keyframes slow{to{scale:1.07}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(3,25,38,.9) 12%,rgba(3,25,38,.55) 52%,rgba(3,25,38,.12)),linear-gradient(0deg,rgba(3,25,38,.65),transparent 45%)}
.hero-copy{padding:clamp(28px,5vw,64px);max-width:760px}
.hero .tag{display:inline-block;color:var(--cream);border:1px solid rgba(244,233,205,.5);padding:7px 14px;border-radius:999px}
.hero h1{color:#fff;font-size:clamp(38px,6.6vw,84px);text-transform:uppercase;font-weight:800;margin:20px 0 18px}
.hero h1 em{font-style:normal;color:var(--cream);background:linear-gradient(transparent 62%,rgba(119,172,162,.55) 62%)}
.hero p{color:rgba(255,255,255,.82);font-size:clamp(16px,1.6vw,19px);max-width:560px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero .btn.p{background:var(--cream);color:var(--navy)}.hero .btn.p:hover{background:#fff}
.hero .btn.g{border-color:rgba(255,255,255,.7);color:#fff}.hero .btn.g:hover{background:#fff;color:var(--navy)}
.hero-copy>*{opacity:0;transform:translateY(22px);animation:up .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.36s}
@keyframes up{to{opacity:1;transform:none}}
html:not(.ready) .hero *{animation-play-state:paused!important}
.hero-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;margin:16px 0 0;background:var(--paper);overflow:hidden}
.hero-strip div{padding:18px 22px;border-right:1px solid var(--line)}.hero-strip div:last-child{border:0}
.hero-strip b{display:block;font-size:26px;color:var(--navy);line-height:1.1}.hero-strip span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.crop{position:absolute;width:22px;height:22px;z-index:2}
.crop::before,.crop::after{content:"";position:absolute;background:#fff;opacity:.8}.crop::before{left:10px;top:0;bottom:0;width:2px}.crop::after{top:10px;left:0;right:0;height:2px}
.crop.a{left:14px;top:14px}.crop.b{right:14px;top:14px}

/* page hero */
.phero{padding:150px 0 64px;background:var(--cream);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(119,172,162,.5),transparent 70%)}
.phero h1{font-size:clamp(34px,6vw,70px);text-transform:uppercase;font-weight:800;margin:14px 0}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:6px}.crumb a:hover{color:var(--teal)}

/* marquee */
.marq{border-block:1px solid var(--line);overflow:hidden;padding:16px 0;margin-top:46px;background:var(--cream)}
.marq div{display:flex;gap:42px;width:max-content;animation:mq 38s linear infinite;font-family:var(--mono);font-size:15px;letter-spacing:.14em;color:var(--navy);white-space:nowrap;text-transform:uppercase}
.marq b{color:var(--ma)}.marq b:nth-of-type(3n+2){color:var(--cy)}.marq b:nth-of-type(3n){color:var(--ye)}
@keyframes mq{to{transform:translateX(-50%)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{padding:30px 20px;border-radius:var(--r);background:var(--cream);text-align:center;transition:.3s}
.stat:nth-child(2){background:#dcecea}.stat:nth-child(3){background:#e8f3d0}.stat:nth-child(4){background:#fbe6ef}
.stat:hover{transform:translateY(-5px)}
.stat b{display:block;font-size:46px;line-height:1;color:var(--navy)}
.stat span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* service cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:22px}
.sc{position:relative;border-radius:var(--r);overflow:hidden;background:var(--tint,#fff);border:1px solid var(--line);transition:.4s;display:flex;flex-direction:column}
.cards .sc:nth-child(5n+1){--tint:#dcecea}.cards .sc:nth-child(5n+2){--tint:#fbf0c4}.cards .sc:nth-child(5n+3){--tint:#e0f0fa}.cards .sc:nth-child(5n+4){--tint:#fbe6ef}.cards .sc:nth-child(5n+5){--tint:#e8f3d0}
a.sc:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(3,25,38,.16)}
.sc .im{height:210px;overflow:hidden;position:relative;background:rgba(3,25,38,.06)}
.sc .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.sc:hover .im img{transform:scale(1.08)}
.sc .im .ico{position:absolute;inset:0;display:grid;place-items:center;font-size:64px}
.sc .tx{padding:24px;flex:1;display:flex;flex-direction:column}
.sc .tx p{margin:8px 0 18px;font-size:15px;flex:1;color:#35575c}
.more{font-family:var(--mono);font-weight:600;color:var(--navy);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.more::after{content:" →";display:inline-block;transition:.3s}.sc:hover .more::after{transform:translateX(6px)}
.sc .bar{height:4px;background:linear-gradient(90deg,var(--cy),var(--ma),var(--ye),var(--navy));transform:scaleX(0);transform-origin:left;transition:.5s}
.sc:hover .bar{transform:none}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .pic{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 60px rgba(3,25,38,.15)}
.split .pic img{width:100%;height:auto}
.split .pic::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--navy) 75%)}
.ticks{list-style:none;margin:22px 0}.ticks li{padding:8px 0 8px 34px;position:relative;color:var(--navy)}
.ticks li::before{content:"✓";position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}
.alt{background:var(--cream)}

/* why / process */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fc{padding:30px;border-radius:var(--r);background:var(--tint,#fff);border:1px solid var(--line);transition:.35s}
.feat .fc:nth-child(6n+1){--tint:#dcecea}.feat .fc:nth-child(6n+2){--tint:#e0f0fa}.feat .fc:nth-child(6n+3){--tint:#fbf0c4}.feat .fc:nth-child(6n+4){--tint:#fbe6ef}.feat .fc:nth-child(6n+5){--tint:#e8f3d0}.feat .fc:nth-child(6n+6){--tint:#f4e9cd}
div.fc:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(3,25,38,.12)}
.fc .ic{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.75);display:grid;place-items:center;font-size:26px;margin-bottom:16px}
.fc p{font-size:15px;margin-top:6px;color:#35575c}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.st{position:relative;padding:30px 24px;border-right:1px solid var(--line);counter-increment:s}.st:last-child{border:0}
.st::before{content:"0" counter(s);display:block;font-family:var(--mono);font-size:44px;font-weight:700;color:var(--sage);line-height:1;margin-bottom:12px}
.st p{font-size:15px;margin-top:6px}

/* gallery */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.chip{padding:9px 20px;border-radius:999px;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:.25s}
.chip.on,.chip:hover{background:var(--navy);color:#fff}
.gal{columns:3;column-gap:18px}
.gal figure{break-inside:avoid;margin-bottom:18px;border-radius:18px;overflow:hidden;position:relative;cursor:zoom-in;border:1px solid var(--line);background:var(--cream)}
.gal img{width:100%;height:auto;transition:transform .7s}
.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;inset:auto 0 0 0;padding:34px 16px 14px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(3,25,38,.85));opacity:0;transform:translateY(10px);transition:.35s}
.gal figure:hover figcaption{opacity:1;transform:none}
.gal figure.hide{display:none}
.lb{position:fixed;inset:0;z-index:100;background:rgba(3,25,38,.92);display:none;align-items:center;justify-content:center;padding:30px}
.lb.on{display:flex}.lb img{max-height:86vh;max-width:94vw;border-radius:12px}
.lb button{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:38px;cursor:pointer}

/* reviews */
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rc{padding:30px;border-radius:var(--r);background:var(--tint,#fff);border:1px solid var(--line);position:relative}
.rv .rc:nth-child(3n+1){--tint:#fbf0c4}.rv .rc:nth-child(3n+2){--tint:#dcecea}.rv .rc:nth-child(3n+3){--tint:#fbe6ef}
.rc::before{content:"“";position:absolute;top:6px;right:22px;font-size:90px;color:rgba(3,25,38,.1);font-family:Georgia,serif;line-height:1}
.stars{color:#e8a200;letter-spacing:3px;margin-bottom:12px}
.rc p{color:var(--navy);font-size:16px}.who{margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:600}
.rate{display:inline-flex;align-items:center;gap:14px;padding:12px 22px;border:1px solid var(--navy);border-radius:999px;margin-top:16px}
.rate b{font-size:28px;color:var(--navy)}

/* CTA */
.cta-band{border-radius:30px;padding:64px 40px;text-align:center;background:var(--navy);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(119,172,162,.55),transparent 65%);top:-240px;right:-120px}
.cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--cream) 75%)}
.cta-band>*{position:relative}.cta-band h2{color:#fff}.cta-band p{color:rgba(255,255,255,.75)}.cta-band .eyebrow{color:var(--mist)}
.cta-band .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.cta-band .btn.p{background:var(--cream);color:var(--navy)}.cta-band .btn.g{border-color:rgba(255,255,255,.6);color:#fff}.cta-band .btn.g:hover{background:#fff;color:var(--navy)}

/* detail */
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:44px}
.detail .big{border-radius:24px;overflow:hidden;border:1px solid var(--line);margin-bottom:26px}
.detail .big .ico{height:300px;display:grid;place-items:center;font-size:96px;background:var(--cream)}
.prose p{margin-bottom:16px;font-size:17px;color:#35575c}
.side{padding:28px;border-radius:var(--r);background:#fff;border:1px solid var(--line);position:sticky;top:96px;align-self:start}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.box{padding:32px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.info p{margin-bottom:18px;color:var(--navy)}.info b{display:block;color:var(--teal);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:2px}
.hrs{width:100%;border-collapse:collapse}.hrs td{padding:10px 0;border-bottom:1px solid var(--line);color:var(--navy)}.hrs td:last-child{text-align:right;font-family:var(--mono);font-size:13px;color:var(--teal)}
form input,form select,form textarea{width:100%;padding:14px 16px;margin-bottom:14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font:inherit;font-size:15px}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--teal);border-color:transparent}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:380px}.map iframe{width:100%;height:100%;min-height:380px;border:0}
details{border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px;background:#fff}
details summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;color:var(--navy)}
details summary::after{content:"+";color:var(--teal);font-size:22px;line-height:1}details[open] summary::after{content:"–"}
details p{margin-top:12px}

/* footer */
footer{background:var(--navy);color:#fff;padding:70px 0 26px}
footer p{color:rgba(255,255,255,.7)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
footer .logo{color:#fff}footer .logo img{background:var(--paper);padding:6px 8px;border-radius:12px;height:54px}footer .logo small{color:var(--mist)}
footer h4{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-bottom:16px}
footer li{list-style:none;margin-bottom:9px;font-size:15px;color:rgba(255,255,255,.72)}footer li a:hover{color:var(--cream)}
.copy{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(255,255,255,.5)}
.fab{position:fixed;right:18px;bottom:22px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25a65a;box-shadow:0 10px 30px rgba(37,166,90,.45);font-size:28px;animation:pulse 2.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,166,90,.55)}70%{box-shadow:0 0 0 18px rgba(37,166,90,0)}100%{box-shadow:0 0 0 0 rgba(37,166,90,0)}}
.mbar{display:none}

/* reveal */
.rvl{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rvl.in{opacity:1;transform:none}

@media(max-width:980px){
 .split,.detail,.cgrid{grid-template-columns:1fr}
 .feat,.rv{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.st:nth-child(2){border-right:0}.st:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .fgrid{grid-template-columns:1fr 1fr}.gal{columns:2}.side{position:static}.hero-strip{grid-template-columns:1fr 1fr}.hero-strip div:nth-child(2){border-right:0}.hero-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
 section{padding:70px 0}
 .burger{display:block}
 nav{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;background:var(--paper);flex-direction:column;align-items:stretch;padding:90px 20px 20px;transform:translateX(100%);transition:.35s;border-left:1px solid var(--line)}
 nav.open{transform:none}nav a.l{font-size:15px;padding:14px}
 .stats{grid-template-columns:1fr 1fr}.feat,.rv,.row2{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.st{border-right:0;border-bottom:1px solid var(--line)}.gal{columns:1}
 .hero{padding:80px 10px 0}.hero-frame{min-height:72vh;border-radius:20px}
 .fgrid{grid-template-columns:1fr}.fab{display:none}
 .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--line)}
 .mbar a{padding:15px;text-align:center;font-weight:700;font-size:15px}.mbar a:first-child{background:var(--navy);color:#fff}.mbar a:last-child{background:#25a65a;color:#fff}
 body{padding-bottom:52px}.cta-band{padding:46px 22px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rvl,.hero-copy>*{opacity:1;transform:none}}

