/* Storelight Studio – agency site styles */
:root{
  --ink:#14211d; --ink-2:#3c4a45; --muted:#6b7772; --line:#e3e6e1;
  --bg:#fbfaf7; --panel:#ffffff; --soft:#f1efe8;
  --brand:#1f5c4a; --brand-2:#2c7a62; --accent:#e8a33d; --accent-ink:#5a3a07;
  --radius:16px; --shadow:0 1px 2px rgba(20,33,29,.06),0 8px 30px rgba(20,33,29,.08);
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--brand)}
h1,h2,h3,h4{font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,5.2vw,4rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-2);margin-bottom:.8rem}
.lead{font-size:1.2rem;color:var(--ink-2);max-width:40em}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
section{padding:96px 0}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.9em 1.4em;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid transparent;transition:transform .15s,background .15s,box-shadow .15s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(31,92,74,.25)}
.btn-primary:hover{background:var(--brand-2)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--ink)}
.btn-accent{background:var(--accent);color:#2b1c03}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.88);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo-mark{width:34px;height:34px;border-radius:10px;background:var(--brand);display:grid;place-items:center;color:#fff}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a:hover{color:var(--ink)}
.nav .btn{padding:.6em 1.1em;font-size:.92rem;color:#fff}
@media (max-width:860px){.nav a:not(.btn){display:none}}
/* hero */
.hero{padding:72px 0 88px;background:radial-gradient(1200px 500px at 85% -10%,#e6efe9 0,transparent 60%),radial-gradient(800px 400px at -10% 110%,#f6ead6 0,transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero h1 em{font-style:normal;color:var(--brand);background:linear-gradient(transparent 62%,#f5d9a8 62%)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 24px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;padding:0;margin:0;list-style:none;color:var(--ink-2);font-weight:600;font-size:.95rem}
.hero-points li::before{content:"✓";color:var(--brand-2);font-weight:800;margin-right:.4em}
.hero-visual{position:relative;min-height:440px}
.shot{position:absolute;border-radius:14px;overflow:hidden;box-shadow:0 20px 50px rgba(20,33,29,.22);background:#fff;border:1px solid rgba(0,0,0,.06)}
.shot .bar{height:22px;background:#eef0ec;display:flex;align-items:center;gap:5px;padding:0 9px}
.shot .bar i{width:7px;height:7px;border-radius:50%;background:#cfd4ce}
.shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.shot.s1{width:72%;left:0;top:0;transform:rotate(-2deg)}
.shot.s2{width:62%;right:0;top:120px;z-index:2;transform:rotate(2deg)}
.shot.s3{width:52%;left:12%;top:270px;z-index:3}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr}.hero-visual{min-height:360px;max-width:560px}}
@media (max-width:520px){.hero-visual{min-height:250px}.shot.s2{top:70px}.shot.s3{top:150px}}
/* usp strip */
.usps{padding:0;margin-top:-28px;position:relative;z-index:5}
.usp-grid{display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.usp{padding:22px 20px;border-right:1px solid var(--line)}
.usp:last-child{border-right:0}
.usp b{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1rem;margin-bottom:4px}
.usp span{font-size:.88rem;color:var(--muted);line-height:1.45;display:block}
.usp .ic{font-size:1.3rem;margin-bottom:8px;display:block}
@media (max-width:980px){.usp-grid{grid-template-columns:repeat(2,1fr)}.usp{border-bottom:1px solid var(--line)}.usp:nth-child(2n){border-right:0}.usp:last-child{grid-column:1/-1}}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;counter-reset:s}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;position:relative}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;font-family:"Plus Jakarta Sans",sans-serif;margin-bottom:18px;font-size:1.1rem}
.step p{color:var(--ink-2);margin:0}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
/* included */
.alt{background:var(--soft)}
.incl{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.incl div{background:#fff;border-radius:14px;padding:22px 22px;border:1px solid var(--line)}
.incl h3{font-size:1.02rem;margin-bottom:.3em}
.incl p{color:var(--muted);font-size:.93rem;margin:0}
@media (max-width:900px){.incl{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.incl{grid-template-columns:1fr}}
/* styles preview */
.style-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.style-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.style-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.style-card img{aspect-ratio:16/10;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.style-card .body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.style-card .tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-2)}
.style-card h3{margin:.3em 0 .35em}
.style-card p{color:var(--muted);font-size:.94rem;flex:1}
.style-card .go{font-weight:700;color:var(--brand)}
@media (max-width:900px){.style-cards{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;position:relative}
.plan.featured{border:2px solid var(--brand);box-shadow:0 18px 50px rgba(31,92,74,.16);transform:translateY(-8px)}
.plan .badge{position:absolute;top:-13px;left:28px;background:var(--brand);color:#fff;font-size:.75rem;font-weight:800;padding:5px 12px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.plan h3{font-size:1.25rem;margin-bottom:.2em}
.plan .desc{color:var(--muted);font-size:.93rem;min-height:3em}
.price{font-family:"Plus Jakarta Sans",sans-serif;font-size:2.8rem;font-weight:800;letter-spacing:-.03em;line-height:1;margin:.3em 0 .1em}
.price small{font-size:.95rem;color:var(--muted);font-weight:600;letter-spacing:0}
.plan .note{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.plan ul{list-style:none;padding:0;margin:0 0 26px;flex:1}
.plan li{padding:7px 0 7px 28px;position:relative;font-size:.95rem;border-top:1px dashed var(--line)}
.plan li:first-child{border-top:0}
.plan li::before{content:"";position:absolute;left:2px;top:13px;width:14px;height:8px;border-left:2.5px solid var(--brand-2);border-bottom:2.5px solid var(--brand-2);transform:rotate(-45deg)}
.plan li.plus{font-weight:700}
.plan .btn{justify-content:center}
@media (max-width:920px){.price-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}.plan.featured{transform:none}}
.care-head{margin-top:80px}
.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px;max-width:860px;margin-left:auto;margin-right:auto}
.care-grid .plan .price{font-size:2.3rem}
@media (max-width:760px){.care-grid{grid-template-columns:1fr;max-width:480px}}
.bigger{max-width:860px;margin:26px auto 0;background:var(--soft);border-radius:14px;padding:20px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.bigger p{margin:0;color:var(--ink-2)}
.vat{font-size:.85rem;color:var(--muted);text-align:center;margin-top:22px}
/* faq */
.faq{max-width:820px;margin:44px auto 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:20px 30px 20px 0;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;font-size:1.5rem;color:var(--brand-2);font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-2);margin:0 0 20px}
/* contact */
.contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.contact-aside ul{list-style:none;padding:0;margin:24px 0 0}
.contact-aside li{padding:10px 0 10px 34px;position:relative;color:var(--ink-2)}
.contact-aside li span{position:absolute;left:0;top:9px}
form.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}
.field{margin-bottom:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:.75em .9em;border:1.5px solid var(--line);border-radius:10px;background:#fcfcfa;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(44,122,98,.12)}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:.82rem;color:var(--muted);margin-top:12px}
.form-status{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.92rem;display:none}
.form-status.show{display:block;background:#fff6e6;border:1px solid #f0d49a;color:var(--accent-ink)}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}.row2{grid-template-columns:1fr}}
/* cta band */
.cta-band{background:var(--brand);color:#fff;border-radius:24px;padding:56px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin:0 0 .3em}
.cta-band p{color:#d5e6df;margin:0}
/* footer */
.site-footer{padding:48px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.site-footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.site-footer a{color:var(--ink-2)}
/* gallery page */
.page-hero{padding:72px 0 24px}
.demo-list{display:grid;gap:40px;margin-top:40px}
.demo-row{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.demo-row:nth-child(even){grid-template-columns:1fr 1.25fr}
.demo-row:nth-child(even) .demo-shot{order:2}
.demo-shot{border-radius:14px;overflow:hidden;border:1px solid var(--line);display:block}
.demo-shot img{aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .5s}
.demo-shot:hover img{transform:scale(1.02)}
.demo-info .tag{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-2)}
.demo-info h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:.3em 0 .4em}
.demo-info p{color:var(--ink-2)}
.demo-info dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.93rem;margin:18px 0 24px}
.demo-info dt{font-weight:700}
.demo-info dd{margin:0;color:var(--muted)}
.swatches{display:flex;gap:6px}
.swatches i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block}
.demo-btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.demo-row,.demo-row:nth-child(even){grid-template-columns:1fr;padding:18px}.demo-row:nth-child(even) .demo-shot{order:0}}
.yours{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.yours div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.yours b{display:block;margin-bottom:4px}
.yours span{color:var(--muted);font-size:.92rem}
@media (max-width:900px){.yours{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.yours{grid-template-columns:1fr}section{padding:72px 0}.cta-band{padding:40px 26px}}
.care-grid.three{grid-template-columns:repeat(3,1fr);max-width:none}
@media (max-width:920px){.care-grid.three{grid-template-columns:1fr;max-width:480px}}

.price-grid.single{grid-template-columns:1fr;max-width:860px;margin-left:auto;margin-right:auto}
.plan.setup{border:2px solid var(--brand);box-shadow:0 18px 50px rgba(31,92,74,.12)}
.plan.setup ul{columns:2;column-gap:32px}
.plan.setup li{break-inside:avoid}
.plan.setup .btn{align-self:flex-start;min-width:220px}
.plan.setup .desc{min-height:0}
@media (max-width:760px){.plan.setup ul{columns:1}.plan.setup .btn{align-self:stretch}}
