:root{--ink:#171512;--cream:#f5efe5;--paper:#fffdf8;--gold:#b4925a;--gold2:#d4bd92;--muted:#756d63;--line:rgba(23,21,18,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;z-index:200;background:var(--paper);display:grid;place-items:center;align-content:center;gap:15px;transition:opacity .8s,visibility .8s}.loader img{width:220px;animation:logoIn 1.2s ease both}.loader span{font-family:'Italiana';letter-spacing:.18em;text-transform:uppercase;font-size:.65rem;color:var(--gold)}.loader.done{opacity:0;visibility:hidden}@keyframes logoIn{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:none}}.site-header{height:95px;padding:14px 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;width:100%;z-index:10}.brand img{height:74px;width:160px;object-fit:contain}.site-header nav{display:flex;gap:27px}.site-header a{text-decoration:none;color:inherit;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.3s}.site-header nav a:hover:after{width:100%}.menu-btn{display:none;background:none;border:0;font-size:1.5rem}.floating-review{position:fixed;right:22px;bottom:22px;z-index:80;background:var(--ink);color:white;text-decoration:none;padding:13px 18px;border-radius:40px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 35px #0003}.floating-review span{color:var(--gold2);margin-right:6px}.hero{min-height:100vh;padding:150px 7vw 80px;position:relative;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;background:radial-gradient(circle at 75% 35%,#e7dac7 0,transparent 34%),linear-gradient(135deg,#fffdf8,#eee5d8);overflow:hidden}.hero:after{content:"WINNY";position:absolute;left:-2vw;bottom:-7vw;font-family:'Italiana';font-size:25vw;color:#000;opacity:.018;line-height:1}.hero-orb{position:absolute;width:500px;height:500px;border:1px solid rgba(180,146,90,.42);border-radius:50%;right:-80px;top:15%;box-shadow:0 0 0 40px rgba(180,146,90,.05),0 0 0 90px rgba(180,146,90,.025)}.eyebrow,.section-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;color:var(--gold);font-weight:600}.hero h1{margin:14px 0 20px;line-height:.72}.hero h1 .small{display:block;font-family:'Italiana',serif;font-size:clamp(2.4rem,5vw,5.8rem);font-weight:400}.signature{display:block;font-family:'Parisienne',cursive;font-size:clamp(5.5rem,13vw,12rem);font-weight:400;color:var(--ink);white-space:nowrap;text-shadow:0 8px 30px rgba(23,21,18,.09);transform:rotate(-3deg);margin-left:5vw}.write-on{animation:signatureReveal 1.5s .8s both}@keyframes signatureReveal{from{opacity:0;transform:translateX(-30px) rotate(-5deg);filter:blur(5px)}to{opacity:1;transform:translateX(0) rotate(-3deg);filter:none}}.hero-tagline{font-family:'Italiana',serif;font-size:clamp(1.15rem,2vw,1.75rem);max-width:690px;line-height:1.5}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);padding:14px 22px;text-decoration:none;color:inherit;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;background:transparent;cursor:pointer;transition:.3s}.btn.primary{background:var(--ink);color:white}.btn.light{border-color:#fff;color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0002}.text-link{color:inherit;font-size:.75rem;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}.hero-card{justify-self:end;width:min(340px,90%);aspect-ratio:4/5;background:var(--ink);color:white;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;box-shadow:0 25px 80px rgba(23,21,18,.22)}.monogram{position:absolute;top:30px;right:30px;border:1px solid var(--gold);border-radius:50%;width:78px;height:78px;display:grid;place-items:center;font-family:'Italiana';font-size:1.8rem;color:var(--gold)}.card-signature{position:absolute;left:25px;top:85px;font-family:'Parisienne';font-size:6rem;color:white;opacity:.08;transform:rotate(-12deg)}.hero-card p{font-family:'Italiana';font-size:2rem;margin:0 0 20px}.hero-card span{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#cfc8bd}.scroll-note{position:absolute;left:3vw;bottom:40px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.16em;font-size:.6rem}.marquee{background:var(--ink);color:var(--gold2);overflow:hidden;padding:15px 0;white-space:nowrap}.marquee div{display:inline-block;font-family:'Italiana';letter-spacing:.17em;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:115px 7vw}.split{display:grid;grid-template-columns:.32fr 1fr .55fr;gap:5vw;align-items:start}.story-copy h2,.section-heading h2,.testimonials h2,.contact h2,.before-after h2,.review-heading h2{font-family:'Italiana';font-weight:400;font-size:clamp(2.6rem,5vw,5.4rem);line-height:1.04;margin:0 0 30px}.story-copy h2 em,.section-heading h2 em,.testimonials h2 em,.before-after h2 em,.review-heading h2 em{color:var(--gold);font-weight:400}.story-copy>p{line-height:1.85;color:var(--muted);font-size:1.02rem}.location{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.1em}.quote-card{background:var(--cream);padding:40px;min-height:315px;position:relative}.quote-card>span{font-family:'Italiana';font-size:8rem;color:var(--gold);line-height:.5}.quote-card p{font-family:'Italiana';font-size:1.6rem;line-height:1.4}.ink-signature{font-family:'Parisienne';font-size:2.7rem;color:var(--gold);transform:rotate(-5deg)}.dark{background:var(--ink);color:white}.dark-soft{background:#24201b;color:white}.section-heading,.review-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-heading>p{max-width:420px;line-height:1.7;color:var(--muted)}.dark .section-heading>p{color:#aca49a}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;border-left:1px solid #ffffff25}.service-card{padding:38px;min-height:275px;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25;position:relative;transition:.35s}.service-card:hover{background:#ffffff08;transform:translateY(-5px)}.service-card .num{font-family:'Italiana';color:var(--gold);font-size:1.2rem}.service-card h3{font-family:'Italiana';font-size:2rem;font-weight:400;margin-top:55px}.service-card p{color:#aaa;line-height:1.7}.script-accent{font-family:'Parisienne';font-size:1.45em;color:var(--gold);display:inline-block;transform:rotate(-6deg)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-row button{border:1px solid var(--line);background:transparent;padding:10px 15px;text-transform:uppercase;letter-spacing:.09em;font-size:.65rem}.filter-row button.active{background:var(--ink);color:white}.gallery-grid{columns:3 260px;column-gap:18px}.gallery-item{margin:0 0 18px;position:relative;break-inside:avoid;overflow:hidden;cursor:pointer;background:#eee}.gallery-item img{width:100%;display:block;transition:.8s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{position:absolute;left:16px;bottom:14px;background:#111d;color:white;padding:8px 10px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.empty-state{text-align:center;padding:80px;border:1px dashed var(--line);color:var(--muted);font-family:'Italiana';font-size:1.2rem}.empty-state strong{font-size:2rem;color:var(--ink);font-weight:400}.before-after{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.before-after p:not(.section-kicker){color:#b9b1a7;line-height:1.8}.edit-demo{height:440px;position:relative;border:1px solid #ffffff25;overflow:hidden;isolation:isolate;--position:50%;touch-action:pan-y}.demo-layer{position:absolute;inset:0;display:flex;align-items:flex-end;padding:30px;font-family:'Italiana';font-size:2rem;background-size:cover;background-position:center}.demo-before{z-index:1;background:linear-gradient(145deg,#81766b,#2b2723)}.demo-after{z-index:2;background:radial-gradient(circle at 70% 25%,#d8c4a4,#5c4c3d 50%,#1f1b18);clip-path:inset(0 calc(100% - var(--position)) 0 0)}.demo-label{display:flex;align-items:baseline;gap:10px;text-shadow:0 2px 12px #0008}.demo-label span{display:block;font-family:'DM Sans';font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.demo-line{position:absolute;z-index:3;left:var(--position);top:0;bottom:0;width:2px;background:white;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 15px #0006}.demo-line:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:white;color:#111;display:grid;place-items:center;font-size:1.25rem;box-shadow:0 8px 24px #0006}.comparison-range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.comparison-range:focus-visible{opacity:.001;outline:3px solid var(--gold2);outline-offset:-4px}.edit-demo.dragging .demo-line:after{transform:translate(-50%,-50%) scale(1.08)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{border:1px solid var(--line);padding:38px;position:relative}.price-card.featured{background:var(--ink);color:white;transform:translateY(-15px)}.badge{position:absolute;right:18px;top:16px;color:var(--gold);font-size:.63rem;text-transform:uppercase;letter-spacing:.12em}.price-card h3{font-family:'Italiana';font-size:2rem;font-weight:400}.price{font-family:'Italiana';font-size:2.3rem;color:var(--gold);margin:20px 0}.price-card ul{padding:0;list-style:none;min-height:125px}.price-card li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.85rem}.turnaround{margin-top:35px;padding:28px;background:var(--cream);display:flex;gap:25px;justify-content:center}.turnaround strong{font-family:'Italiana';font-size:1.2rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{border:1px solid #ffffff25;padding:35px;min-height:280px}.review-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}.stars{color:var(--gold);letter-spacing:.2em}.review-card blockquote{font-family:'Italiana';font-size:1.4rem;line-height:1.5;margin:22px 0}.review-card cite{font-style:normal;color:#aaa}.signature-break{min-height:540px;background:linear-gradient(#1119,#1119),radial-gradient(circle at 30% 30%,#79634b,#181512 70%);color:white;display:grid;place-items:center;text-align:center;padding:80px 20px}.signature-break span,.signature-break strong{display:block;font-family:'Italiana';font-weight:400}.signature-break span{font-size:clamp(1.8rem,4vw,4rem)}.signature-break strong{font-size:clamp(2.5rem,6vw,6rem);color:var(--gold2)}.giant-signature{font-family:'Parisienne';font-size:clamp(4rem,10vw,10rem);margin-top:15px;transform:rotate(-4deg)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--cream)}.signature.mini{font-size:1.4em;margin:0;transform:rotate(-3deg);color:var(--gold)}.contact-intro>a{color:inherit}.booking-form,.review-form-card{background:white;padding:35px;box-shadow:0 15px 50px rgba(23,21,18,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label,legend{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:13px 3px;background:transparent;font:inherit;margin-top:5px}textarea{border:1px solid var(--line);padding:12px}.file-label{border:1px dashed var(--line);padding:14px}.file-label input{border:0}.form-note{font-size:.75rem;color:var(--muted)}footer{padding:55px 7vw;background:#0d0c0b;color:white;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}footer img{width:110px;filter:invert(1)}footer strong,footer span,footer em{display:block}footer strong{letter-spacing:.18em}footer em{font-family:'Italiana';color:#8b837a;margin-top:8px;max-width:480px}.footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{color:white;text-decoration:none;font-size:.72rem}footer p{grid-column:1/-1;color:#777;font-size:.7rem}dialog{border:0;background:#111;padding:15px;max-width:min(90vw,1000px);color:white}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{max-width:100%;max-height:80vh;display:block}dialog button{position:absolute;right:10px;top:8px;border:0;background:white;width:35px;height:35px;font-size:1.5rem}.reveal{opacity:0;transform:translateY(25px);transition:.8s}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.18s}
.review-page{min-height:100vh;background:linear-gradient(135deg,#f8f3ea,#e8ddce)}.review-back{position:fixed;top:25px;left:30px;color:var(--ink);text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;z-index:4}.review-shell{min-height:100vh;display:grid;grid-template-columns:.85fr 1.15fr}.review-brand{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.review-brand:after{content:'WP';position:absolute;font-family:'Italiana';font-size:28vw;opacity:.03;left:-5vw;bottom:-7vw}.review-brand img{width:230px;margin-bottom:45px}.review-brand h1{font-family:'Italiana';font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1;margin:10px 0}.review-brand h1 em{color:var(--gold);font-weight:400}.review-brand>p:last-child{max-width:520px;line-height:1.8;color:var(--muted)}.review-script{font-family:'Parisienne';font-size:5rem;transform:rotate(-5deg);margin:-12px 0 20px;color:var(--ink)}.review-form-card{margin:55px 5vw 55px 0;padding:55px;display:flex;align-items:center}.review-form-card form{width:100%}fieldset{border:0;padding:0;margin:0 0 20px}.star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end}.star-picker input{display:none}.star-picker label{font-size:2.5rem;color:#d8d1c7;cursor:pointer;margin:0 5px 0 0}.star-picker input:checked~label,.star-picker label:hover,.star-picker label:hover~label{color:var(--gold)}.consent{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;line-height:1.5}.consent input{width:auto;margin-top:3px}.thank-heart{font-size:6rem;color:var(--gold)}#reviewThanks{text-align:center;width:100%}#reviewThanks h2{font-family:'Parisienne';font-size:5rem;font-weight:400;margin:0}
@media(max-width:900px){.site-header{height:82px}.site-header nav{display:none;position:absolute;right:5vw;top:75px;background:white;padding:25px;flex-direction:column;box-shadow:0 15px 40px #0002}.site-header nav.open{display:flex}.menu-btn{display:block}.hero{grid-template-columns:1fr;padding-top:125px}.hero-card{display:none}.signature{font-size:clamp(4.5rem,20vw,8rem);margin-left:0}.scroll-note{display:none}.split,.contact,.before-after{grid-template-columns:1fr}.section{padding:80px 6vw}.section-heading,.review-heading{display:block}.section-heading .btn,.review-heading .btn{margin-top:20px}.service-grid,.price-grid,.review-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.field-row{grid-template-columns:1fr}.turnaround{display:block}.edit-demo{height:320px}.review-shell{grid-template-columns:1fr}.review-brand{padding:100px 7vw 35px}.review-form-card{margin:0 4vw 40px;padding:30px}.review-brand img{width:180px;margin-bottom:25px}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}.footer-links{justify-content:center}.floating-review{right:12px;bottom:12px;padding:11px 14px}}


/* Version 2 refinements: restrained, editorial and intentionally subtle */
.refined-script{font-family:'MonteCarlo','Cormorant Garamond',serif!important;font-weight:400!important}
.hero .signature{font-family:'MonteCarlo','Cormorant Garamond',serif;font-size:clamp(4.1rem,8.2vw,7.4rem);line-height:.92;letter-spacing:-.035em;margin:.08em 0 .05em;transform:none;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.hero h1 .small{margin-bottom:.8rem}
.write-on{clip-path:inset(0 100% 0 0);animation:inkReveal 1.7s cubic-bezier(.22,.8,.22,1) .35s forwards}
@keyframes inkReveal{to{clip-path:inset(0 0 0 0)}}
.card-signature,.ink-signature{font-size:2.35rem;transform:none}
.script-accent{font-family:'MonteCarlo','Cormorant Garamond',serif;font-size:1.22em;transform:none;white-space:nowrap}
.signature-break{min-height:430px}
.giant-signature{font-family:'MonteCarlo','Cormorant Garamond',serif;font-size:clamp(3.4rem,7vw,6.2rem);margin-top:22px;transform:none;opacity:.92}
.signature.mini{font-family:'MonteCarlo','Cormorant Garamond',serif;font-size:1.18em;transform:none}
.review-empty{min-height:300px;border:1px solid #ffffff25;padding:46px;place-items:center;text-align:center;background:linear-gradient(135deg,#ffffff05,#ffffff01)}
.review-empty-mark{font-family:'Italiana',serif;font-size:3.2rem;color:var(--gold);border:1px solid #ffffff35;border-radius:50%;width:92px;height:92px;display:grid;place-items:center}
.review-empty h3{font-family:'Italiana',serif;font-size:2rem;font-weight:400;margin:8px 0 0}
.review-empty p{max-width:560px;color:#b7afa5;line-height:1.75;margin:0}
.review-empty .btn{margin-top:4px}
@media(max-width:900px){.hero .signature{font-size:clamp(3.8rem,16vw,6.2rem)}.signature-break{min-height:360px}.giant-signature{font-size:clamp(3rem,14vw,5rem)}.review-empty{padding:34px 22px}}
@media(prefers-reduced-motion:reduce){.write-on{clip-path:none;animation:none}}

/* V2.1 refinement: keep the signature fully visible and avoid repeated name treatments */
.hero h1{overflow:visible;padding-bottom:.32em}
.hero .signature{display:inline-block;line-height:1.18;padding:.05em .08em .22em 0;overflow:visible;white-space:nowrap}
.hero-copy{overflow:visible}

/* V2.2 clarity and restraint */
:root{
  --ink:#191713;
  --muted:#5f584f;
  --gold:#9d7843;
}
body{font-weight:400;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site-header nav a,.eyebrow,.section-kicker,.location,.form-note,.footer-links a,footer span{font-weight:600;color:var(--ink)}
p,.service-card p,.section-heading>p,.story-copy p,.contact-intro p,.price-card li,.review-empty p{color:#514b43;font-weight:400}
h1,h2,h3,.price,.turnaround strong{color:#171512}
.hero-tagline{color:#3f3a34;font-weight:500}
.btn{font-weight:700;letter-spacing:.04em}
.site-header nav a{opacity:.92}
.site-header nav a:hover{opacity:1}
.hero .signature{color:#151310;text-shadow:none;font-weight:400!important}
.marquee{font-weight:600;letter-spacing:.18em}
.review-empty p{color:#d0c8bd}
.review-empty h3{color:#fffdf8}
.contact-intro h2 em{font-family:'Cormorant Garamond',serif;font-weight:500}
@media(max-width:900px){
  body{font-size:16px}
  .site-header nav a{font-weight:700}
  .hero-tagline{font-size:1.04rem;line-height:1.65}
}

/* V2.3 — final contrast pass: every dark surface has explicit light text. */
:root{
  --surface-dark:#191713;
  --surface-dark-soft:#28231e;
  --text-on-dark:#fffdf8;
  --text-on-dark-muted:#d1c8bc;
  --text-on-light:#211e1a;
  --text-on-light-muted:#5b544c;
}

/* Light surfaces */
body,
.hero,
.section:not(.dark):not(.dark-soft):not(.testimonials),
.contact,
.pricing-section,
.gallery-section{
  color:var(--text-on-light);
}
.section:not(.dark):not(.dark-soft):not(.testimonials) h1,
.section:not(.dark):not(.dark-soft):not(.testimonials) h2,
.section:not(.dark):not(.dark-soft):not(.testimonials) h3,
.contact h1,.contact h2,.contact h3,
.pricing-section h1,.pricing-section h2,.pricing-section h3,
.gallery-section h1,.gallery-section h2,.gallery-section h3{
  color:var(--text-on-light);
}
.section:not(.dark):not(.dark-soft):not(.testimonials) p,
.contact p,.pricing-section p,.gallery-section p{
  color:var(--text-on-light-muted);
}

/* Dark surfaces — explicitly override global heading/paragraph rules. */
.dark,
.dark-soft,
.testimonials,
.signature-break,
.hero-card,
.price-card.featured,
footer,
.marquee{
  color:var(--text-on-dark);
}
.dark h1,.dark h2,.dark h3,.dark h4,
.dark-soft h1,.dark-soft h2,.dark-soft h3,.dark-soft h4,
.testimonials h1,.testimonials h2,.testimonials h3,.testimonials h4,
.signature-break h1,.signature-break h2,.signature-break h3,
.hero-card h1,.hero-card h2,.hero-card h3,
.price-card.featured h1,.price-card.featured h2,.price-card.featured h3,
footer h1,footer h2,footer h3,
.dark strong,.dark-soft strong,.testimonials strong,.signature-break strong,
.price-card.featured strong{
  color:var(--text-on-dark);
}
.dark p,.dark li,.dark span:not(.num):not(.section-kicker):not(.badge),
.dark-soft p,.dark-soft li,.dark-soft span:not(.section-kicker),
.testimonials p,.testimonials li,.testimonials cite,
.hero-card p,.hero-card span,
.price-card.featured p,.price-card.featured li,
footer p,footer span,footer em,footer a{
  color:var(--text-on-dark-muted);
}
.dark .section-kicker,.dark-soft .section-kicker,.testimonials .section-kicker,
.dark .num,.dark .badge,.dark-soft .badge,.testimonials .stars,
.price-card.featured .price,.price-card.featured .badge{
  color:var(--gold2);
}
.dark .section-heading>p,.dark-soft .section-heading>p,.testimonials .section-heading>p{
  color:var(--text-on-dark-muted);
}
.dark h2 em,.dark-soft h2 em,.testimonials h2 em{
  color:var(--gold2);
}

/* Components on dark backgrounds */
.service-card h3,.service-card p{color:var(--text-on-dark)}
.service-card p{color:var(--text-on-dark-muted)}
.review-empty h3{color:var(--text-on-dark)}
.review-empty p{color:var(--text-on-dark-muted)}
.review-card blockquote{color:var(--text-on-dark)}
.review-card cite{color:var(--text-on-dark-muted)}
.before-after h2{color:var(--text-on-dark)}
.before-after p:not(.section-kicker){color:var(--text-on-dark-muted)}
.price-card.featured li{border-bottom-color:rgba(255,255,255,.18)}
.price-card.featured .btn.primary{background:var(--text-on-dark);color:var(--surface-dark);border-color:var(--text-on-dark)}

/* Buttons must always contrast with their background. */
.btn.primary{background:var(--surface-dark);color:var(--text-on-dark);border-color:var(--surface-dark)}
.btn.light{background:transparent;color:var(--text-on-dark);border-color:rgba(255,255,255,.8)}
.btn.light:hover{background:var(--text-on-dark);color:var(--surface-dark)}
.dark .btn.ghost,.dark-soft .btn.ghost,.testimonials .btn.ghost{color:var(--text-on-dark);border-color:rgba(255,255,255,.7)}

/* Footer and floating controls */
footer .footer-links a,footer span{color:var(--text-on-dark)}
footer em,footer p{color:#b8afa4}
.floating-review{background:var(--surface-dark);color:var(--text-on-dark)}
.marquee,.marquee div{color:var(--gold2)}

/* Keep the opening signature crisp, visible and unclipped. */
.hero h1{line-height:1;overflow:visible;padding-bottom:.45em}
.hero .signature{
  color:#171411;
  line-height:1.28;
  padding:.04em .12em .28em .02em;
  margin:.05em 0 0;
  overflow:visible;
  max-width:100%;
}

/* Stronger readability without making the design heavy. */
body{font-weight:450}
.hero-tagline,.story-copy>p,.section-heading>p,.contact-intro>p,.form-note{font-weight:500}
input,textarea,select{color:var(--text-on-light);font-weight:500}
input::placeholder,textarea::placeholder{color:#766e65;opacity:1}

@media(max-width:900px){
  .site-header nav{background:#fffdf8;color:var(--text-on-light)}
  .site-header nav a{color:var(--text-on-light)}
  .hero .signature{white-space:normal;line-height:1.22;padding-bottom:.3em}
}

/* Version 2.4: focal logo and fully accessible package cards */
.hero-logo-focus{justify-self:end;width:min(520px,100%);text-align:center;position:relative;z-index:2}
.hero-logo-panel{background:#fff;padding:clamp(34px,5vw,68px);border:1px solid rgba(23,21,18,.12);box-shadow:0 28px 85px rgba(23,21,18,.16);display:grid;place-items:center;min-height:430px}
.hero-logo-panel img{display:block;width:min(420px,92%);height:auto;max-height:360px;object-fit:contain;filter:none}
.hero-logo-focus>p{margin:18px 0 0;font-family:'Italiana',serif;font-size:1rem;letter-spacing:.09em;color:#3b352f}

.price-grid{align-items:stretch}
.price-card,.price-card.featured{background:#fff;color:#171512;border:1px solid rgba(23,21,18,.18);box-shadow:0 10px 30px rgba(23,21,18,.06);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;isolation:isolate}
.price-card.featured{transform:translateY(-15px);border:2px solid #b4925a;box-shadow:0 22px 55px rgba(23,21,18,.13)}
.price-card:hover,.price-card:focus-visible{transform:translateY(-7px);box-shadow:0 22px 55px rgba(23,21,18,.15);border-color:#b4925a;outline:none}
.price-card.featured:hover,.price-card.featured:focus-visible{transform:translateY(-20px)}
.price-card h3,.price-card li{color:#171512}
.price-card .price,.price-card .badge{color:#8a6734}
.price-card li{border-bottom-color:rgba(23,21,18,.14)}
.price-card .btn{position:relative;z-index:3;background:#171512;color:#fff;border-color:#171512;width:100%}
.price-card .btn:hover{background:#8a6734;border-color:#8a6734}
.price-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:125px;gap:48px}
  .hero-logo-focus{justify-self:center;width:min(560px,100%)}
  .hero-logo-panel{min-height:340px;padding:38px}
  .hero-logo-panel img{width:min(390px,95%)}
  .price-card.featured,.price-card.featured:hover,.price-card.featured:focus-visible{transform:none}
}
@media(max-width:560px){
  .hero-logo-panel{min-height:275px;padding:28px 22px}
  .hero-logo-panel img{width:100%;max-height:235px}
  .hero-logo-focus>p{font-size:.86rem}
}


/* Version 2.5: ensure hero calls-to-action are always clickable */
.hero-copy{position:relative;z-index:6}
.hero-actions{position:relative;z-index:8}
.hero-actions .btn,.hero-actions .text-link{position:relative;z-index:9;pointer-events:auto}
.hero-orb,.hero::after,.scroll-note{pointer-events:none}
.hero-logo-focus,.hero-logo-panel,.hero-logo-focus img,.hero-logo-focus>p{pointer-events:none}
.site-header{z-index:20}

/* v2.6 clickable story categories */
.service-card{cursor:pointer;outline:none}
.service-card:focus-visible{box-shadow:inset 0 0 0 2px var(--gold);background:#ffffff0b}
.service-cta{display:inline-block;margin-top:20px;color:var(--gold2);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid transparent;padding-bottom:3px;transition:.25s}
.service-card:hover .service-cta,.service-card:focus-visible .service-cta{border-bottom-color:var(--gold2);transform:translateX(3px)}
.category-dialog{width:min(92vw,520px);background:var(--paper);color:var(--ink);padding:54px 42px 42px;text-align:center;border:1px solid var(--gold2);box-shadow:0 30px 90px #0006}
.category-dialog::backdrop{background:rgba(13,12,11,.78);backdrop-filter:blur(4px)}
.category-dialog button{position:absolute;right:12px;top:12px;width:36px;height:36px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.25rem;cursor:pointer}
.category-dialog .category-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;margin:0 auto 22px;font-family:'Italiana';font-size:1.6rem;color:var(--gold)}
.category-dialog h3{font-family:'Italiana';font-size:2.1rem;font-weight:400;margin:0 0 14px}
.category-dialog p{color:var(--muted);line-height:1.7;margin:0 0 26px}
