
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700&family=Parisienne&display=swap');

:root{
  --black:#0d0b09;
  --black2:#15110e;
  --cream:#f5f0e7;
  --cream2:#eee6d8;
  --white:#fffdfa;
  --gold:#c7a36a;
  --gold2:#dfc18e;
  --muted:#7d7368;
  --line:rgba(199,163,106,.35);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --script:"Parisienne", cursive;
  --max:1240px;
  --shadow:0 24px 70px rgba(18,12,7,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--black);font-family:var(--sans);line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
.container{width:min(var(--max),calc(100% - 56px));margin:auto}
.eyebrow{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase}
.section{padding:110px 0}
.section.dark{background:var(--black);color:var(--white)}
.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,5vw,4.7rem);line-height:.95;letter-spacing:-.02em;margin:0 0 22px}
.section-sub{max-width:660px;color:var(--muted);font-size:.98rem}
.dark .section-sub{color:#b9afa4}
.gold-line{width:58px;height:1px;background:var(--gold);margin:24px 0}
.btn{display:inline-flex;align-items:center;gap:13px;padding:14px 22px;border:1px solid var(--gold);font-size:.69rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;transition:.25s ease}
.btn span{font-size:1rem;line-height:0}
.btn:hover{background:var(--gold);color:var(--black)}
.btn.light{background:var(--gold);color:var(--black)}
.btn.ghost{border-color:rgba(255,255,255,.4);color:var(--white)}
.btn.ghost:hover{border-color:var(--gold);color:var(--black)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:30;color:#fff;padding:20px 0}
.site-header.scrolled{position:fixed;background:rgba(13,11,9,.95);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand-lockup img{width:210px;max-width:32vw}
.main-nav{display:flex;gap:30px;align-items:center}
.main-nav a{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;opacity:.9;position:relative;padding:12px 0}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.25s}
.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
.header-cta{margin-left:auto}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.3rem}
.hero{min-height:820px;display:flex;align-items:stretch;position:relative;overflow:hidden;color:#fff;background:var(--black)}
.hero:after{content:"";position:absolute;left:42%;top:0;bottom:0;width:22%;background:linear-gradient(90deg,var(--black),rgba(13,11,9,0));z-index:1}
.hero-media{position:absolute;right:0;top:0;bottom:0;width:58%;background:url('../assets/images/client/hero.jpg') center/cover no-repeat}
.hero-inner{position:relative;z-index:2;padding:190px 0 100px;display:flex;align-items:center}
.hero-copy{max-width:540px}
.script{font-family:var(--script);color:var(--gold2);font-size:2rem}
.hero h1{font-family:var(--serif);font-size:clamp(4rem,7vw,7.2rem);font-weight:500;line-height:.82;letter-spacing:-.035em;margin:18px 0 26px}
.hero h1 span{display:block}
.hero .lead{max-width:540px;color:#ece3d8;font-size:1rem}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin:28px 0;color:#e0d5c7;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.intro-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:72px;align-items:center}
.intro-image{height:540px;object-fit:cover;box-shadow:var(--shadow)}
.intro-copy p{max-width:650px;color:#645a50}
.experience{margin-top:90px}
.experience-head{text-align:center;max-width:720px;margin:0 auto 52px}
.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-card{padding:42px 28px;text-align:center;position:relative}
.experience-card+ .experience-card{border-left:1px solid var(--line)}
.icon-ring{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;color:var(--gold);font-family:var(--serif);font-size:1.3rem}
.experience-card h3{font-family:var(--serif);font-size:1.35rem;margin:0 0 8px;font-weight:600}
.experience-card p{margin:0;color:var(--muted);font-size:.83rem}
.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.service-card{min-height:370px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:#111}
.service-card img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.82;transition:.35s}
.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,5,4,.04),rgba(7,5,4,.9))}
.service-card:hover img{transform:scale(1.05);opacity:.95}
.service-content{position:absolute;inset:auto 22px 22px;z-index:2}
.service-content h3{font-family:var(--serif);font-size:1.8rem;margin:0 0 6px}
.service-content p{font-size:.78rem;color:#ddd2c6;margin:0 0 20px}
.service-content .btn{padding:10px 12px;font-size:.58rem}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch}
.split-copy{padding:30px 0}
.split-image{min-height:600px;object-fit:cover}
.pricing-mini{border-left:1px solid var(--line);padding-left:34px}
.price-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(15,12,9,.12);font-size:.85rem}
.price-row strong{font-weight:600}
.products{margin-top:70px}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:28px}
.product-card{padding-top:18px;border-top:1px solid var(--line)}
.product-card h4{font-family:var(--serif);font-size:1.55rem;margin:0 0 9px}
.product-card p{font-size:.78rem;color:var(--muted);margin:0}
.gallery-strip{display:grid;grid-template-columns:1.05fr .95fr;gap:0;align-items:stretch}
.gallery-feature{height:610px;object-fit:cover}
.gallery-copy{padding:90px 8%;display:flex;flex-direction:column;justify-content:center}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:28px}
.gallery-thumbs img{height:88px;object-fit:cover}
.quote{text-align:center;position:relative;overflow:hidden}
.quote:before,.quote:after{content:"“";position:absolute;font-family:var(--serif);font-size:18rem;color:rgba(199,163,106,.08);line-height:1}
.quote:before{left:4%;top:-40px}.quote:after{right:4%;bottom:-120px;transform:rotate(180deg)}
.quote blockquote{max-width:850px;margin:0 auto;font-family:var(--serif);font-size:2rem;line-height:1.25;font-style:italic}
.quote cite{display:block;margin-top:18px;color:var(--gold);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-style:normal}
.location{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:0;background:var(--black);color:#fff}
.location-image{min-height:360px;background:url('../assets/images/footer-bride.jpg') center/cover}
.location-copy{padding:56px 48px}
.location-copy h2{font-family:var(--serif);font-size:3rem;font-weight:500;line-height:1;margin:0 0 12px}
.locations{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.locations div{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#cfc4b7}
.contact-card{padding:56px;border-left:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center}
.contact-card h3{font-family:var(--serif);font-size:2.6rem;font-weight:500;line-height:1.05;margin:0 0 18px}
.contact-details{margin-top:22px;display:grid;gap:9px;color:#d6cbbb;font-size:.8rem}
.footer{background:#0a0908;color:#cfc4b7;padding:30px 0}
.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:end;gap:32px}
.footer-logo{width:220px;filter:brightness(1.05)}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.footer-meta{text-align:right;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}
.page-hero{padding:210px 0 95px;background:var(--black) url('../assets/images/bg-dark.svg') center/cover;color:#fff}
.page-hero h1{font-family:var(--serif);font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.85;margin:14px 0}
.page-hero p{max-width:620px;color:#c9beb1}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.about-image{height:680px;object-fit:cover}
.manifesto{font-family:var(--serif);font-size:2.6rem;line-height:1.15;margin:30px 0}
.service-list{display:grid;gap:34px}
.service-panel{padding:38px 0;border-bottom:1px solid var(--line)}
.service-panel:first-child{border-top:1px solid var(--line)}
.service-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:end}
.service-panel h2{font-family:var(--serif);font-size:2.7rem;font-weight:500;margin:0}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.package{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.35)}
.package strong{font-family:var(--serif);font-size:1.35rem;font-weight:600}
.package .price{float:right;font-family:var(--serif);font-size:1.25rem}
.package p{clear:both;margin:.5rem 0 0;color:var(--muted);font-size:.76rem}
.table-wrap{overflow-x:auto;margin-top:28px}
table{width:100%;border-collapse:collapse;font-size:.8rem}
th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line)}
th{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#6f655a}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.portfolio-card{position:relative;overflow:hidden;background:#222;min-height:360px}
.portfolio-card img{height:100%;object-fit:cover;transition:.35s}
.portfolio-card:hover img{transform:scale(1.04)}
.portfolio-card.span-7{grid-column:span 7}.portfolio-card.span-5{grid-column:span 5}
.portfolio-card.span-4{grid-column:span 4}.portfolio-card.span-8{grid-column:span 8}
.portfolio-card .label{position:absolute;left:20px;bottom:18px;color:#fff;z-index:2}
.portfolio-card .label h3{font-family:var(--serif);font-size:1.8rem;margin:0}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.contact-panel{background:var(--black);color:#fff;padding:54px}
.contact-panel h2{font-family:var(--serif);font-size:3.2rem;line-height:1;margin:0 0 18px}
.form{display:grid;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:#71675c}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:11px 0;font:inherit;color:var(--black);outline:none}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:.72rem;color:var(--muted)}
.mobile-book{display:none;position:fixed;z-index:50;left:14px;right:14px;bottom:14px;background:var(--gold);color:var(--black);padding:14px 18px;text-align:center;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.25)}
@media (max-width:1000px){
  .main-nav{display:none}.header-cta{display:none}.menu-toggle{display:block}
  .site-header.open .main-nav{display:flex;position:absolute;left:28px;right:28px;top:82px;padding:18px;background:rgba(13,11,9,.98);flex-direction:column;align-items:flex-start;gap:6px;border:1px solid rgba(199,163,106,.25)}
  .hero{min-height:760px}.hero-media{width:54%;background-position:62% center}.hero:after{left:34%;width:26%}.hero-inner{padding-top:180px}
  .intro-grid,.about-grid,.split,.contact-layout,.location{grid-template-columns:1fr}
  .intro-image,.about-image{height:520px}.experience-grid{grid-template-columns:1fr 1fr}
  .experience-card:nth-child(3){border-left:0;border-top:1px solid var(--line)}.experience-card:nth-child(4){border-top:1px solid var(--line)}
  .services-grid{grid-template-columns:repeat(2,1fr)}.products-grid{grid-template-columns:1fr 1fr}
  .pricing-mini{border-left:0;border-top:1px solid var(--line);padding:34px 0 0;margin-top:34px}
  .gallery-strip{grid-template-columns:1fr}.gallery-copy{padding:60px 7%}
  .location-copy{padding:50px 28px}.contact-card{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:44px 28px}
  .footer-inner{grid-template-columns:1fr;text-align:left}.footer-meta{text-align:left}
  .portfolio-card.span-7,.portfolio-card.span-5,.portfolio-card.span-4,.portfolio-card.span-8{grid-column:span 12}
  .mobile-book{display:block}
}
@media (max-width:640px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .section{padding:76px 0}.hero{min-height:820px;align-items:flex-end}.hero-media{top:0;bottom:auto;width:100%;height:54%;background-position:center 28%}.hero:after{left:0;right:0;top:42%;bottom:0;width:auto;background:linear-gradient(180deg,rgba(13,11,9,0),var(--black) 22%)}.hero-inner{padding:110px 0 58px}
  .hero h1{font-size:4.1rem}.hero .lead{font-size:.9rem}
  .hero-meta{gap:10px;font-size:.6rem}
  .experience-grid,.services-grid,.products-grid,.package-grid{grid-template-columns:1fr}
  .experience-card{border-left:0!important;border-top:1px solid var(--line)}.experience-card:first-child{border-top:0}
  .intro-image,.about-image{height:420px}.gallery-feature{height:420px}
  .form-row{grid-template-columns:1fr}.locations{grid-template-columns:1fr 1fr}.contact-panel{padding:34px 26px}
}
