
:root{
 --ink:#171310; --muted:#6e635b; --paper:#f8f3ed; --paper-2:#efe4da; --cream:#fffaf5;
 --bronze:#a77b5a; --bronze-2:#c8a386; --dark:#171411; --line:rgba(34,24,17,.14);
 --shadow:0 24px 70px rgba(60,42,28,.14); --radius:28px; --max:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;background-image:radial-gradient(rgba(84,57,37,.13) .55px,transparent .55px);background-size:7px 7px}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.serif{font-family:Georgia,"Times New Roman",serif}
.topbar{background:#171411;color:#e9d7c8;text-align:center;padding:8px 18px;font-size:10px;letter-spacing:.18em}
header{position:sticky;top:0;z-index:50;background:rgba(248,243,237,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(30,20,14,.08)}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:305px;height:auto;max-width:100%}
.navlinks{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:650}.navlinks>a:not(.btn){position:relative}.navlinks>a:not(.btn):after{content:"";position:absolute;left:0;bottom:-6px;right:100%;height:1px;background:var(--bronze);transition:.25s}.navlinks>a:not(.btn):hover:after{right:0}
.menu{display:none;background:none;border:0;font-size:23px;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;border:1px solid transparent;font-size:13px;font-weight:800;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:white;box-shadow:0 12px 28px rgba(20,15,12,.15)}.btn-outline{border-color:#b6a394;background:rgba(255,255,255,.45)}.btn-bronze{background:linear-gradient(135deg,#b58765,#91684d);color:#fff}.btn-light{background:#f6eadf;color:#1a1613}.btn.full{width:100%}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#8b654a;font-weight:800}.eyebrow:before{content:"";width:32px;height:1px;background:#9e7658}
.hero{background:radial-gradient(circle at 5% 15%,rgba(187,148,116,.18),transparent 32%),linear-gradient(180deg,#fbf8f4,#f2e8de);padding:68px 0 72px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:48px;align-items:center}
.display{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6.2vw,83px);line-height:.96;letter-spacing:-.05em;font-weight:400;margin:17px 0 20px}.display em{font-weight:400;color:#987056}.lead{font-size:18px;color:#4e453f;max-width:630px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 34px}.proofs{display:flex;flex-wrap:wrap;gap:20px;color:#62574f;font-size:12px}.proof{display:flex;align-items:center;gap:9px}.iconcircle{width:36px;height:36px;border-radius:50%;border:1px solid #c8ae98;background:rgba(255,255,255,.42);display:grid;place-items:center;color:#8f684d}
.hero-photo-wrap{position:relative}.hero-photo{width:100%;height:555px;object-fit:cover;object-position:center;border-radius:34px;box-shadow:var(--shadow);border:1px solid rgba(69,48,32,.14)}.floating-card{position:absolute;right:-20px;bottom:28px;width:250px;background:rgba(25,21,18,.93);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:22px;backdrop-filter:blur(10px);box-shadow:0 25px 50px rgba(0,0,0,.22)}.floating-card small{letter-spacing:.18em;color:#caa78c}.floating-card b{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.08;margin-top:8px}
.section{padding:92px 0}.section-soft{background:var(--paper-2)}.section-dark{background:#191613;color:#f7efe8}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(37px,4.5vw,59px);font-weight:400;line-height:1.02;letter-spacing:-.04em;margin:12px 0}.section-copy{max-width:480px;color:#6d6259}.section-dark .section-copy{color:#c8bbb0}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service{background:rgba(255,255,255,.72);border:1px solid rgba(75,50,32,.11);border-radius:25px;overflow:hidden;box-shadow:0 15px 42px rgba(71,48,30,.07);transition:.25s}.service:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(71,48,30,.12)}.service img{width:100%;height:210px;object-fit:cover}.service-body{padding:23px}.service h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 8px}.service p{font-size:13px;color:#675c53}.text-link{display:inline-flex;margin-top:8px;border-bottom:1px solid #a78770;font-size:12px;font-weight:800}
.tailored{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.tailored-photo{height:510px;width:100%;object-fit:cover;border-radius:30px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}.tailored-list{display:grid;gap:14px;margin:25px 0}.tailored-item{display:flex;gap:12px;align-items:flex-start}.tailored-item strong{display:block}.tailored-item span{display:block;font-size:13px;color:#c7bbb1;margin-top:2px}.example-note{margin-top:24px;padding:20px;border:1px solid rgba(255,255,255,.17);border-radius:18px;color:#d6c9be;background:rgba(255,255,255,.035)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step{position:relative;padding-top:60px}.step-no{position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;background:#a37b5e;color:#fff;display:grid;place-items:center;font-family:Georgia,serif}.step:not(:last-child):after{content:"";position:absolute;height:1px;top:21px;left:56px;right:-12px;background:#bca997}.step h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:0 0 7px}.step p{font-size:13px;color:#6c6158}
.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.price-card{background:rgba(255,255,255,.72);border:1px solid rgba(79,53,35,.13);border-radius:24px;padding:27px;display:flex;flex-direction:column;position:relative}.price-card.featured{background:#fff8f1;border-color:#b78f70;box-shadow:0 22px 55px rgba(74,49,31,.12);transform:translateY(-8px)}.badge{position:absolute;left:23px;right:23px;top:-13px;border-radius:999px;padding:6px;text-align:center;background:#aa7f5e;color:#fff;font-size:9px;letter-spacing:.16em}.price-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:4px 0}.price{font-family:Georgia,serif;font-size:43px;line-height:1.1}.price small{font-size:14px;color:#6d6158}.price-card ul{padding:0;list-style:none;display:grid;gap:9px;font-size:13px;color:#5f554d;margin:21px 0 28px;flex:1}.price-card li:before{content:"✓";font-weight:900;color:#9c7456;margin-right:8px}.single-reel{margin-top:22px;padding:24px 26px;border-radius:24px;background:#191613;color:#f7eee7;display:flex;justify-content:space-between;align-items:center;gap:25px}.single-reel b{font-family:Georgia,serif;font-size:26px;font-weight:400}.single-reel span{color:#c9bbb0;font-size:13px}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}.reasons{display:grid;grid-template-columns:1fr 1fr;gap:15px}.reason{background:#fffaf5;border:1px solid rgba(72,48,31,.11);border-radius:20px;padding:22px}.reason b{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400}.reason span{font-size:13px;color:#6d6159}
.faq{max-width:900px;margin:auto}.faq details{padding:20px 0;border-bottom:1px solid #cdb9a8}.faq summary{display:flex;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:21px;cursor:pointer;list-style:none}.faq summary:after{content:"+"}.faq details[open] summary:after{content:"–"}.faq p{max-width:760px;color:#675c54}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:45px;align-items:start}.contact-list{display:grid;gap:16px;margin-top:25px}.contact-line{display:flex;gap:12px;align-items:center}.contact-line .iconcircle{flex:0 0 36px;display:grid;place-items:center;line-height:1;margin:0}.contact-line strong{display:block}.contact-line span{display:block;font-size:13px;color:#c9bcb2}
.form{background:#f7eee6;color:#1b1714;border-radius:28px;padding:29px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.form h3,.form .intro,.form .full{grid-column:1/-1}.form h3{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:0}.field{display:grid;gap:7px;font-size:12px;font-weight:750;color:#5e544d}.field input,.field select,.field textarea{width:100%;border:1px solid #c8b7a9;background:#fffdfa;border-radius:13px;padding:13px 14px;outline:none;color:#1c1815}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9f7657;box-shadow:0 0 0 3px rgba(159,118,87,.11)}.check{display:flex;gap:10px;font-size:11px;color:#685e56}.check input{margin-top:3px}
.footer{padding:42px 0 24px;border-top:1px solid #dacabd;background:#f8f3ed}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-logo{display:block;width:295px;height:auto;max-width:100%}.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dacabd;margin-top:27px;padding-top:19px;font-size:11px;color:#776c63}
.legal{padding:72px 0 100px}.legal article{max-width:860px;margin:auto;background:#fffaf5;border:1px solid #e0d3c8;border-radius:24px;padding:38px}.legal h1{font-family:Georgia,serif;font-size:48px;font-weight:400}.legal h2{font-family:Georgia,serif;font-size:26px;margin-top:31px}.placeholder{padding:13px 15px;border:1px solid #d5a778;background:#fff0df;border-radius:12px;color:#754d31;font-weight:700}
.fade{opacity:0;transform:translateY(18px);transition:.65s ease}.fade.show{opacity:1;transform:none}.mobile-cta{display:none}
@media(max-width:1000px){.navlinks{display:none}.menu{display:block}.navlinks.open{display:flex;position:absolute;left:0;right:0;top:88px;background:#fbf7f2;padding:24px;flex-direction:column;border-bottom:1px solid #d9cabc}.hero-grid,.tailored,.why-grid,.contact-grid{grid-template-columns:1fr}.services,.pricing{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.step:nth-child(2):after{display:none}.hero-photo{height:470px}.floating-card{right:15px}.section-heading{align-items:flex-start;flex-direction:column}.price-card.featured{transform:none}}
@media(max-width:650px){.container{width:min(var(--max),calc(100% - 28px))}.nav{height:74px}.brand img{width:235px}.navlinks.open{top:74px}.hero{padding:42px 0 60px}.display{font-size:49px}.hero-photo{height:390px;border-radius:25px}.floating-card{position:relative;right:auto;bottom:auto;margin:-58px 16px 0 auto;width:230px}.services,.pricing,.steps,.reasons{grid-template-columns:1fr}.step:after{display:none!important}.section{padding:70px 0}.tailored-photo{height:360px}.single-reel{align-items:flex-start;flex-direction:column}.form{grid-template-columns:1fr;padding:22px}.form>*{grid-column:1/-1!important}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.section-title{font-size:40px}.mobile-cta{display:flex;position:fixed;z-index:60;left:12px;right:12px;bottom:12px;background:#171310;color:white;border-radius:999px;padding:14px 16px;align-items:center;justify-content:center;font-weight:800;box-shadow:0 13px 32px rgba(0,0,0,.25)}}

/* Weddings & Events */
.wed-hero{padding:65px 0 72px;background:linear-gradient(180deg,#fbf7f2,#ede0d5)}
.wed-hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:48px;align-items:center}
.wed-hero-art{width:100%;height:560px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow);border:1px solid rgba(64,43,29,.13)}
.wed-badge{display:inline-flex;gap:9px;align-items:center;border:1px solid #c5a890;background:rgba(255,255,255,.5);padding:9px 13px;border-radius:999px;font-size:11px;letter-spacing:.08em}
.event-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event-card{border-radius:25px;overflow:hidden;background:#fffaf5;border:1px solid rgba(67,45,30,.12);box-shadow:0 15px 42px rgba(73,49,30,.07)}
.event-card img{height:240px;width:100%;object-fit:cover}.event-card-body{padding:24px}.event-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 8px}.event-card p{font-size:13px;color:#665b53}
.wed-pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.wed-price{background:#fffaf5;border:1px solid rgba(70,48,32,.13);border-radius:24px;padding:27px;display:flex;flex-direction:column}.wed-price.featured{background:#1a1714;color:#f6eee7;border-color:#1a1714;box-shadow:0 20px 55px rgba(0,0,0,.15)}.wed-price h3{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:0 0 5px}.wed-price .amount{font-family:Georgia,serif;font-size:42px}.wed-price .amount small{font-size:13px}.wed-price ul{padding:0;list-style:none;display:grid;gap:9px;font-size:13px;flex:1;margin:19px 0 25px}.wed-price li:before{content:"✓";margin-right:8px;color:#a77b5a;font-weight:900}.wed-price.featured li:before{color:#d4ae8d}
.private-note{padding:24px;border-radius:22px;background:#efe2d7;border:1px solid #d3b8a1;margin-top:22px}
.wed-faq details{border-color:#d3bba7}
@media(max-width:1000px){.wed-hero-grid{grid-template-columns:1fr}.event-types{grid-template-columns:1fr 1fr}.wed-pricing{grid-template-columns:1fr 1fr}.wed-hero-art{height:480px}}
@media(max-width:650px){.event-types,.wed-pricing{grid-template-columns:1fr}.wed-hero-art{height:380px}.wed-hero{padding-top:42px}}


/* ===== FINAL POLISH ===== */

/* General rhythm */
.section{scroll-margin-top:100px}
.section-heading{margin-bottom:44px}
.section-copy{line-height:1.7}
.lead{line-height:1.65}
.actions{align-items:center}
.btn{min-height:46px}

/* Cards: consistent visual rhythm */
.service,.price-card,.reason,.event-card,.wed-price{
  height:100%;
}
.service-body,.event-card-body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.service-body .text-link{
  margin-top:auto;
  padding-top:8px;
}

/* Hero polish */
.hero-photo,.tailored-photo,.wed-hero-art{
  box-shadow:0 26px 70px rgba(50,35,24,.13);
}
.hero-photo-wrap{
  isolation:isolate;
}

/* Business contact section */
.contact-grid{
  align-items:stretch;
}
.contact-grid>div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-list{
  gap:18px;
  margin-top:30px;
}
.contact-line{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  column-gap:14px;
  align-items:center;
}
.contact-line .iconcircle{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  display:grid;
  place-items:center;
  line-height:1;
  margin:0;
  padding:0;
  align-self:center;
}
.contact-line>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:40px;
}
.contact-line strong{
  line-height:1.25;
  margin:0 0 3px;
}
.contact-line span{
  line-height:1.4;
}
.form{
  align-content:start;
  box-shadow:0 25px 60px rgba(0,0,0,.16);
}
.form .intro{
  margin-top:-2px;
  margin-bottom:4px;
}
.check{
  align-items:flex-start;
}
.check input{
  flex:0 0 auto;
}

/* Footer polish */
.footer{
  padding-top:46px;
}
.footer-top{
  align-items:center;
}
.footer-links{
  justify-content:flex-end;
  row-gap:10px;
}
.footer-bottom{
  align-items:center;
}
.footer-logo{
  flex:0 0 auto;
}

/* Pricing consistency */
.price-card .btn,
.wed-price .btn{
  margin-top:auto;
}

/* Wedding page consistency */
.wed-price ul{
  line-height:1.45;
}
.private-note{
  line-height:1.6;
}

/* Responsive polish */
@media(max-width:1000px){
  .contact-grid{
    gap:30px;
  }
  .footer-links{
    justify-content:flex-start;
  }
}
@media(max-width:650px){
  body{
    padding-bottom:72px;
  }
  .section-heading{
    margin-bottom:30px;
  }
  .contact-list{
    margin-top:24px;
  }
  .contact-line{
    grid-template-columns:38px minmax(0,1fr);
    column-gap:12px;
  }
  .contact-line .iconcircle{
    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;
  }
  .form{
    border-radius:24px;
  }
  .footer{
    padding-bottom:34px;
  }
  .footer-logo{
    width:255px;
  }
  .footer-links{
    gap:14px;
    line-height:1.5;
  }
  .footer-bottom{
    gap:8px;
  }
  .mobile-cta{
    left:14px;
    right:14px;
    bottom:12px;
    min-height:48px;
  }
}

/* Prevent accidental logo clipping */
.brand,
.footer-logo{
  overflow:visible;
}
.brand img,
.footer-logo{
  object-fit:contain;
}

/* Keep original business images, but remove blur caused by stretching */
.service img{
  width:100%;
  height:auto !important;
  aspect-ratio: 2.5 / 1;
  object-fit:cover;
  display:block;
}
@media(max-width:650px){
  .service img{
    aspect-ratio: 2.5 / 1;
  }
}

/* tailored steps centered */
.tailored-item{align-items:center}
.tailored-item .iconcircle{display:grid;place-items:center;line-height:1;font-size:13px;font-weight:600;flex:0 0 36px;min-width:36px;margin:0}
.tailored-item > div{display:flex;flex-direction:column;justify-content:center;min-height:36px}
.tailored-item strong{line-height:1.25;margin:0 0 3px}
.tailored-item span{margin-top:0;line-height:1.4}
