/* Wedding Patch Bar — "something-stitched" theme. Bespoke build 2026-07-04. */
:root{
  --bg:#fdf8f5;
  --surface:#ffffff;
  --accent:#a26769;        /* dusty rose */
  --accent-deep:#8a5254;
  --accent-soft:#f3e4e2;
  --accent2:#6d9f71;       /* pressed sage */
  --accent2-soft:#e6efe4;
  --ink:#33292a;
  --ink-soft:#6f5f5e;
  --line:#e9dcd6;
  --display:"Pramukh Rounded","Baloo 2","Cabin",sans-serif;
  --body:"Cabin","Pramukh Rounded",sans-serif;
  --shadow:0 10px 30px rgba(51,41,42,.10);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--accent-deep)}
h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:.2px;margin:0 0 .5em}
h1{font-size:clamp(2rem,5.2vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:700}
h3{font-size:1.15rem;font-weight:700}
p{margin:.4em 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* stitch progress line */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--accent) 0 14px,transparent 14px 22px);transform-origin:0 50%;transform:scaleX(0);z-index:60}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,248,245,.94);backdrop-filter:blur(8px);border-bottom:2px dashed var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:14px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.05rem;border:2px dashed rgba(255,255,255,.65);outline:3px solid var(--accent-soft)}
.brand strong{font-family:var(--display);font-size:1.06rem;display:block;line-height:1.1}
.brand small{color:var(--ink-soft);font-size:.74rem;letter-spacing:.4px}
.nav-toggle{display:none;font:600 .95rem var(--body);border:2px dashed var(--accent);background:var(--surface);color:var(--accent-deep);border-radius:999px;padding:8px 16px;cursor:pointer}
.site-nav{display:flex;gap:4px;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px}
.site-nav a:hover{background:var(--accent-soft);color:var(--accent-deep)}
.site-nav a.nav-cta{background:var(--accent);color:#fff}
.site-nav a.nav-cta:hover{background:var(--accent-deep);color:#fff}
@media(max-width:880px){
  .nav-toggle{display:inline-block}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:2px dashed var(--line);padding:12px 16px;flex-direction:column}
  .site-nav.is-open{display:flex}
}

/* lace-edge section tops */
.lace{position:relative;padding-top:56px}
.lace::before{content:"";position:absolute;top:0;left:0;right:0;height:16px;
  background:radial-gradient(circle at 11px 0px,var(--lace,var(--surface)) 10px,transparent 11px);
  background-size:22px 16px;background-repeat:repeat-x}
.lace::after{content:"";position:absolute;top:18px;left:0;right:0;height:6px;
  background:radial-gradient(circle at 11px 3px,var(--lace,var(--surface)) 2.5px,transparent 3px);
  background-size:22px 6px;background-repeat:repeat-x;opacity:.85}
.lace.on-rose{--lace:var(--accent-soft)}
.lace.on-sage{--lace:var(--accent2-soft)}

/* pressed-flower corner accents */
.flower-corner{position:relative}
.flower-corner::before,.flower-corner::after{content:"";position:absolute;width:96px;height:96px;pointer-events:none;opacity:.9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%236d9f71' stroke-width='2'%3E%3Cpath d='M8 92 C 30 70, 42 52, 50 30'/%3E%3Cpath d='M30 72 C 40 68, 48 66, 58 66'/%3E%3Cpath d='M40 55 C 33 48, 30 42, 29 34'/%3E%3C/g%3E%3Cg fill='%23a26769'%3E%3Ccircle cx='52' cy='24' r='5'/%3E%3Ccircle cx='61' cy='29' r='5'/%3E%3Ccircle cx='58' cy='39' r='5'/%3E%3Ccircle cx='47' cy='38' r='5'/%3E%3Ccircle cx='44' cy='28' r='5'/%3E%3Ccircle cx='52.5' cy='31.5' r='3.4' fill='%23f3e4e2'/%3E%3C/g%3E%3Cg fill='%23c98a8c'%3E%3Ccircle cx='63' cy='62' r='4'/%3E%3Ccircle cx='70' cy='66' r='4'/%3E%3Ccircle cx='66' cy='73' r='4'/%3E%3Ccircle cx='59' cy='69' r='4'/%3E%3Ccircle cx='65' cy='67' r='2.4' fill='%23fdf8f5'/%3E%3C/g%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat}
.flower-corner::before{left:6px;bottom:6px}
.flower-corner::after{right:6px;top:6px;transform:rotate(180deg)}
@media(max-width:640px){.flower-corner::before,.flower-corner::after{width:56px;height:56px;opacity:.45}}

/* hero */
.hero{padding:44px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:28px}}
.eyebrow{display:inline-block;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent2);background:var(--accent2-soft);border:1.5px dashed var(--accent2);border-radius:999px;padding:6px 14px;margin:0 0 16px}
.lede{font-size:1.13rem;color:var(--ink-soft);max-width:34em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.hero-note{font-size:.88rem;color:var(--ink-soft)}
.button{display:inline-block;font:700 1rem var(--display);background:var(--accent);color:#fff;text-decoration:none;padding:14px 26px;border-radius:999px;border:2px dashed rgba(255,255,255,.55);outline:3px solid var(--accent-soft);transition:transform .15s ease,background .15s ease}
.button:hover{background:var(--accent-deep);transform:translateY(-2px)}
.button-ghost{background:var(--surface);color:var(--accent-deep);border:2px dashed var(--accent);outline:3px solid transparent}
.button-ghost:hover{background:var(--accent-soft);color:var(--accent-deep)}
.button-sage{background:var(--accent2);outline-color:var(--accent2-soft)}
.button-sage:hover{background:#587f5b}

.hero-photo{position:relative}
.hero-photo img{border-radius:26px;box-shadow:var(--shadow);border:6px solid var(--surface);aspect-ratio:4/5;object-fit:cover;width:100%}
.chip{position:absolute;font-family:var(--display);font-weight:700;font-size:.86rem;background:var(--surface);border:2px dashed var(--accent);color:var(--accent-deep);border-radius:14px;padding:8px 14px;box-shadow:var(--shadow);animation:floaty 5s ease-in-out infinite}
.chip-sage{border-color:var(--accent2);color:#4c7350}
.chip-1{top:6%;left:-20px}
.chip-2{top:38%;right:-16px;animation-delay:1.2s}
.chip-3{bottom:14%;left:-26px;animation-delay:2.1s}
.chip-4{bottom:-14px;right:12%;animation-delay:3s}
@media(max-width:880px){.chip-1{left:4px}.chip-3{left:2px}.chip-2{right:2px}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}
@media(prefers-reduced-motion:reduce){.chip{animation:none}}

/* generic sections */
section{padding:56px 0}
.section-surface{background:var(--surface)}
.section-rose{background:var(--accent-soft)}
.section-sage{background:var(--accent2-soft)}
.kicker{font-family:var(--display);font-weight:700;color:var(--accent);letter-spacing:1.4px;text-transform:uppercase;font-size:.82rem;margin:0 0 6px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:880px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.card{background:var(--surface);border-radius:var(--radius);padding:26px 24px;border:1.5px solid var(--line);box-shadow:var(--shadow);position:relative}
.card .patch-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);border:2px dashed var(--accent);font-family:var(--display);font-weight:800;color:var(--accent-deep);margin-bottom:14px}
.card-sage .patch-num{background:var(--accent2-soft);border-color:var(--accent2);color:#4c7350}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}
ul.stitched{list-style:none;padding:0;margin:0 0 1em}
ul.stitched li{padding:10px 0 10px 30px;border-bottom:1.5px dashed var(--line);position:relative}
ul.stitched li::before{content:"";position:absolute;left:2px;top:18px;width:12px;height:12px;border-radius:4px;background:var(--accent2);border:1.5px dashed #fff;outline:1.5px solid var(--accent2)}
ul.stitched li:last-child{border-bottom:0}

/* photo rows */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-grid.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:880px){.photo-grid,.photo-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.photo-grid,.photo-grid.four{grid-template-columns:1fr}}
.photo-grid figure{margin:0;background:var(--surface);border-radius:var(--radius);padding:10px;border:1.5px solid var(--line);box-shadow:var(--shadow)}
.photo-grid img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.photo-grid figcaption{font-size:.85rem;color:var(--ink-soft);padding:10px 6px 4px}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
@media(max-width:880px){.split{grid-template-columns:1fr}}
.split img{border-radius:22px;border:6px solid var(--surface);box-shadow:var(--shadow);width:100%;object-fit:cover;aspect-ratio:4/3}

/* tables */
.price-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:.97rem}
.price-table th{background:var(--accent);color:#fff;font-family:var(--display);text-align:left;padding:13px 16px}
.price-table td{padding:13px 16px;border-top:1.5px dashed var(--line);vertical-align:top}
.table-scroll{overflow-x:auto}

/* faq */
details.faq{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:4px 20px;margin-bottom:12px;box-shadow:var(--shadow)}
details.faq summary{font-family:var(--display);font-weight:700;font-size:1.02rem;cursor:pointer;padding:12px 0;color:var(--ink)}
details.faq[open]{border-color:var(--accent)}

/* lead form */
.quote-panel{background:var(--surface);border-radius:26px;padding:34px 30px;box-shadow:var(--shadow);border:2px dashed var(--accent);outline:6px solid var(--accent-soft)}
.lead-form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:14px}
.lead-form input,.lead-form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);font:400 1rem var(--body);color:var(--ink)}
.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.field-grid{grid-template-columns:1fr}}
.hp-wrap{position:absolute;left:-6000px;top:-6000px}
.form-submit{font:700 1.05rem var(--display);width:100%;background:var(--accent);color:#fff;border:2px dashed rgba(255,255,255,.55);outline:3px solid var(--accent-soft);border-radius:999px;padding:15px 20px;cursor:pointer}
.form-submit:hover{background:var(--accent-deep)}
.form-submit:disabled{opacity:.7;cursor:wait}
.form-note{font-size:.88rem;color:var(--ink-soft);text-align:center;margin:12px 0 0}
.is-success{opacity:.92}

/* page hero band for subpages */
.page-head{padding:52px 0 40px;background:linear-gradient(180deg,var(--accent-soft),var(--bg))}
.page-head .lede{margin-bottom:0}
.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:14px}
.breadcrumbs a{color:var(--ink-soft)}

/* prose pages */
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose img{border-radius:18px;border:5px solid var(--surface);box-shadow:var(--shadow);margin:1.4em 0}
.meta-line{font-size:.85rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px}

/* CTA band */
.cta-band{text-align:center;padding:64px 0}
.cta-band h2{max-width:22em;margin-left:auto;margin-right:auto}

/* footer */
.site-footer{background:var(--ink);color:#efe6e2;padding:52px 20px 84px;margin-top:20px}
.footer-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr}}
.site-footer strong{font-family:var(--display);font-size:1.1rem}
.site-footer a{color:#f5c9c6;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer nav a{display:block;padding:4px 0}
.site-footer p{color:#cbbcb8;font-size:.93rem}
.footer-legal{max-width:1120px;margin:30px auto 0;border-top:1.5px dashed rgba(255,255,255,.25);padding-top:18px;font-size:.82rem;color:#a89a96}
