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

:root{
  --bg:#20271f;
  --bg-deep:#171c17;
  --bg-soft:#293027;
  --panel:#252c24;
  --panel-2:#222921;
  --gold:#c7a36d;
  --gold-light:#dbc08f;
  --cream:#e8dfd2;
  --muted:#c0b6a8;
  --line:rgba(199,163,109,.34);
  --line-soft:rgba(199,163,109,.16);
  --shadow:rgba(5,8,5,.38);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font-family:Montserrat,Arial,sans-serif;font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.kicker,.eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.09;z-index:999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(23,28,23,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(199,163,109,.1)}
.nav{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:34px;position:relative}
.brand{display:grid;grid-template-columns:58px auto;align-items:center;gap:15px;min-width:320px}
.brand-emblem{width:58px;height:78px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-main{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold-light);font-size:27px;letter-spacing:.13em;white-space:nowrap}
.brand-sub{margin-top:7px;color:var(--gold);font-size:10px;letter-spacing:.36em;white-space:nowrap}
.brand-tag{margin-top:9px;padding-top:8px;border-top:1px solid rgba(199,163,109,.45);font-size:8px;letter-spacing:.24em;color:#ba9866;white-space:nowrap}
nav{display:flex;align-items:center;gap:34px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
nav a{color:#ddd4c8;transition:.2s}
nav a:hover,nav a.active{color:var(--gold-light)}
nav a.active:after{content:"";display:block;width:28px;height:1px;background:var(--gold);margin:7px auto 0}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--cream);padding:14px 23px;letter-spacing:.14em;text-transform:uppercase;font-size:11px;background:transparent;transition:.22s}
.btn:hover{background:var(--gold);color:#1d231c}
.btn-solid{background:linear-gradient(180deg,#b98e54,#a87d47);border-color:#b98e54;color:#f6ebdc;box-shadow:0 12px 24px rgba(0,0,0,.12)}
.btn-solid:hover{background:var(--gold-light);border-color:var(--gold-light);color:#1d231c}
.menu-btn{display:none;background:transparent;border:1px solid var(--line);color:var(--gold);padding:8px 10px;letter-spacing:.15em;font-size:10px}

/* Hero */
.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 62% 42%,rgba(123,126,95,.10),transparent 22%),linear-gradient(95deg,#171c17 0%,#1f261f 46%,#2a3027 100%)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 58% 42%,rgba(120,122,95,.12),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.01),transparent 40%,rgba(0,0,0,.09));pointer-events:none}
.hero:after{display:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(72px,.18fr) minmax(360px,.84fr) minmax(290px,.72fr) minmax(48px,.10fr);align-items:center;gap:30px;width:100%}
.hero-copy{grid-column:2;padding:42px 0 42px 10px;max-width:520px}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:72px;font-weight:400;line-height:1.02;letter-spacing:.05em;margin:0;color:#ead6b5;text-transform:uppercase}
.hero-copy p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.5;letter-spacing:.035em;color:#dcc9aa;max-width:430px;margin:22px 0 30px}
.hero-mark{grid-column:3;width:320px;justify-self:center;transform:translateX(12px);filter:drop-shadow(0 22px 34px rgba(0,0,0,.25))}
.hero-mark img{width:100%;height:auto}
.hero-spacer{grid-column:4;min-height:1px}

/* benefit strip */
.micro-strip{background:linear-gradient(180deg,#252c24,#222820);border-top:1px solid rgba(199,163,109,.35);border-bottom:1px solid rgba(199,163,109,.16)}
.micro-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.micro{padding:30px 22px;text-align:center;position:relative}
.micro:not(:last-child):after{content:"";position:absolute;right:0;top:18%;height:64%;width:1px;background:rgba(199,163,109,.45)}
.micro img{width:46px;height:46px;margin:0 auto 7px}
.micro strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:400;color:var(--gold-light);line-height:1.1}
.micro span{display:block;color:#d8ccbc;font-size:12px;letter-spacing:.08em;margin-top:3px}

/* General sections */
.section{padding:100px 0;position:relative}
.section.alt{background:var(--panel)}
.section-title{max-width:760px;margin-bottom:52px}
.section-title h2,.content-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:52px;line-height:1.08;font-weight:400;color:#eadfce;letter-spacing:.02em;margin:0 0 16px}
.section-title p{color:var(--muted);max-width:690px;margin:0}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.card{border:1px solid rgba(199,163,109,.23);background:linear-gradient(145deg,rgba(255,255,255,.022),rgba(255,255,255,.002));padding:42px;min-height:280px;position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45}
.card h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;font-weight:400;color:var(--gold-light);margin:0 0 12px}
.card p{color:#bdb3a6;margin:0 0 24px}
.card .kicker{margin-bottom:10px}

.two-col{display:grid;grid-template-columns:.88fr 1.12fr;gap:78px;align-items:center}
.logo-panel{min-height:590px;border:1px solid rgba(199,163,109,.25);display:grid;place-items:center;padding:42px;background:radial-gradient(circle at 50% 35%,rgba(104,111,91,.10),transparent 42%),#20271f;position:relative;overflow:hidden}
.logo-panel:after{display:none}
.logo-panel img{width:min(430px,94%);position:relative;z-index:2;filter:drop-shadow(0 22px 32px rgba(0,0,0,.17))}
.quote{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.35;color:#e4d8c8;margin:28px 0;border-left:1px solid var(--gold);padding-left:25px}
.bullet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 26px;margin:28px 0}
.bullet{font-size:13px;color:#c4baad}.bullet:before{content:"✦";color:var(--gold);margin-right:10px}

/* Sub pages */
.subhero{min-height:360px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 65% 30%,rgba(120,122,95,.08),transparent 24%),linear-gradient(115deg,#191f19,#293027)}
.subhero:after{display:none}
.subhero .container{position:relative;z-index:2}
.subhero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:66px;font-weight:400;letter-spacing:.04em;color:#ead6b5;margin:4px 0 12px}
.subhero p{max-width:700px;color:#c8bdaf;margin:0}

.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.pricing-card{background:#252c24;border-top:1px solid var(--gold);padding:40px}
.pricing-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;color:var(--gold-light);font-size:38px;margin:0 0 20px}
.price-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-soft)}
.price-row:last-child{border-bottom:0}
.price-row span:first-child{color:#d9d0c4}
.price{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold-light);font-size:24px}
.addon-note{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:#bfb6aa;font-size:13px}

/* Forms */
.form-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:start}
.contact-panel{padding:42px;border:1px solid var(--line);background:#252c24}
.contact-panel h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:400;color:var(--gold-light);margin:0 0 15px}
.contact-item{padding:17px 0;border-bottom:1px solid var(--line-soft)}
.contact-item small{display:block;color:var(--gold);font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}
.field label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}
.field input,.field select,.field textarea{width:100%;background:#1c221c;border:1px solid rgba(199,163,109,.32);color:#eee4d8;padding:14px 15px;outline:none;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field textarea{min-height:140px;resize:vertical}
.fineprint{font-size:11px;color:#9e968a;margin:12px 0 0}
.notice{padding:18px;border:1px solid rgba(199,163,109,.25);background:rgba(199,163,109,.05);color:#c9beaf;font-size:13px;margin-bottom:24px}

/* Footer */
footer{background:#171c17;border-top:1px solid rgba(199,163,109,.17);padding:55px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .9fr;gap:54px}
.footer-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;letter-spacing:.12em;color:var(--gold-light)}
.footer-small{font-size:12px;color:#9f978c}.footer-links a{display:block;color:#bcb3a7;font-size:12px;margin:7px 0}.footer-links a:hover{color:var(--gold-light)}
.copyright{margin-top:38px;padding-top:19px;border-top:1px solid rgba(199,163,109,.1);font-size:10px;color:#7f7971;letter-spacing:.08em}

@media(max-width:1050px){
  .brand{min-width:auto}.brand-tag{display:none}nav{gap:22px}
  .hero-grid{grid-template-columns:minmax(28px,.08fr) minmax(340px,.92fr) minmax(270px,.72fr)}
  .hero-copy{grid-column:2;padding-left:4px}
  .hero-mark{grid-column:3;transform:translateX(4px);width:290px}
  .hero-spacer{display:none}
}
@media(max-width:900px){
  .nav{min-height:78px}.brand-emblem{width:42px;height:58px}.brand-main{font-size:21px}.brand-sub{font-size:8px}.menu-btn{display:block}
  nav{display:none;position:absolute;top:78px;left:-24px;right:-24px;background:#1b211b;padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}
  .hero{min-height:auto;padding:70px 0}.hero-grid{grid-template-columns:1fr;gap:38px}.hero-mark{grid-column:auto;grid-row:1;width:230px;transform:none}.hero-copy{grid-column:auto;grid-row:2;text-align:center;padding:0;max-width:none}.hero-copy p{margin:20px auto 28px}.hero h1{font-size:54px}.hero-copy .btn{margin:auto}
  .micro-grid{grid-template-columns:repeat(2,1fr)}.micro:nth-child(2):after{display:none}
  .cards,.pricing-grid,.two-col,.form-wrap{grid-template-columns:1fr}.two-col,.form-wrap{gap:45px}.section{padding:75px 0}.section-title h2,.content-title{font-size:43px}.subhero h1{font-size:50px}.footer-grid{grid-template-columns:1fr;gap:28px}.logo-panel{min-height:470px}
}
@media(max-width:560px){
  .container{width:min(100% - 30px,1180px)}.brand{grid-template-columns:34px auto;gap:10px}.brand-emblem{width:34px;height:47px}.brand-main{font-size:18px;letter-spacing:.09em}.brand-sub{font-size:7px;letter-spacing:.26em}
  .hero h1{font-size:44px}.hero-copy p{font-size:21px}.hero-mark{width:185px}.micro-grid{grid-template-columns:1fr}.micro:after{display:none!important}.section-title h2,.content-title{font-size:36px}.subhero{min-height:310px}.subhero h1{font-size:42px}.card,.pricing-card,.contact-panel{padding:28px}.bullet-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.logo-panel{min-height:390px;padding:25px}.footer-grid{grid-template-columns:1fr}
}


/* About page refinement: keep the introduction concise and bring the visual into view sooner. */
@media (min-width:901px){
  .about-page .subhero{min-height:235px;}
  .about-page .subhero h1{font-size:54px;margin-top:0;}
  .about-page .subhero p{max-width:720px;}
  .about-page .about-main{padding:54px 0 82px;}
  .about-page .about-grid{align-items:start;gap:70px;}
  .about-page .logo-panel{min-height:460px;padding:18px 30px 28px;margin-top:0;align-items:start;justify-items:center;}
  .about-page .logo-panel img{width:min(380px,92%);}
  .about-page .content-title{font-size:49px;}
}
@media (max-width:900px){
  .about-page .subhero{min-height:285px;}
  .about-page .about-main{padding-top:58px;}
}


/* Shared interior-page refinement — About page is the visual standard. */
@media (min-width:901px){
  .site-subpage .subhero{
    min-height:235px;
    padding:30px 0 26px;
  }
  .site-subpage .subhero h1{
    font-size:54px;
    line-height:1.03;
    margin:0 0 10px;
  }
  .site-subpage .subhero p{
    max-width:720px;
    line-height:1.65;
  }
  .site-subpage .subpage-main{
    padding:58px 0 82px;
  }
  .site-subpage .subpage-main .cards,
  .site-subpage .subpage-main .pricing-grid,
  .site-subpage .subpage-main .form-wrap{
    align-items:start;
  }
  .services-page .subpage-main .card,
  .pricing-page .subpage-main .pricing-card,
  .contact-page .subpage-main .contact-panel,
  .booking-page .subpage-main .contact-panel{
    margin-top:0;
  }
  .services-page .section.alt{
    padding-top:76px;
  }
  .services-page .section-title{
    margin-bottom:40px;
  }
  .pricing-page .pricing-card{
    min-height:100%;
  }
  .contact-page .form-wrap,
  .booking-page .form-wrap{
    gap:62px;
  }
  .contact-page .content-title,
  .booking-page .content-title{
    font-size:49px;
  }
  .thankyou-page main .section{
    min-height:60vh !important;
    padding:72px 0 82px;
  }
}
@media (max-width:900px){
  .site-subpage .subhero{min-height:285px;padding:32px 0;}
  .site-subpage .subpage-main{padding-top:58px;}
  .thankyou-page main .section{padding-top:62px !important;}
}
