*{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#FAF8F5;
  --warm-white:#FFFEFB;
  --charcoal:#2C2926;
  --charcoal-mid:#4A4540;
  --charcoal-light:#7A7470;
  --sage:#8A9E8C;
  --sage-light:#C8D8C9;
  --gold:#B8965A;
  --border:#E8E2DA;
}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--charcoal);min-height:100vh;overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,248,245,0.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:0 2rem}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none}
.nav-logo-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;letter-spacing:0.15em;color:var(--charcoal);line-height:1}
.nav-logo-sub{font-size:9px;font-weight:300;letter-spacing:0.35em;color:var(--charcoal-light);text-transform:uppercase;margin-top:3px}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:11px;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--charcoal-mid);text-decoration:none;transition:color 0.2s;padding-bottom:2px;border-bottom:1px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--charcoal);border-bottom-color:var(--gold)}
.nav-cta{font-size:10px;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--warm-white);background:var(--charcoal);padding:10px 20px;text-decoration:none;transition:background 0.2s}
.nav-cta:hover{background:var(--charcoal-mid)}

/* HERO */
.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding-top:72px}
.hero-photo-frame{width:100%;height:100vh;position:absolute;top:0;left:0;overflow:hidden}
.hero-photo-frame img{width:100%;height:100%;object-fit:cover;opacity:0.22}
.hero-content{position:relative;z-index:2;max-width:800px;padding:2rem}
.hero-eyebrow{font-size:10px;font-weight:300;letter-spacing:0.45em;text-transform:uppercase;color:var(--sage);margin-bottom:2rem}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,8vw,96px);font-weight:300;line-height:0.95;color:var(--charcoal);margin-bottom:1.5rem;letter-spacing:-0.01em}
.hero-title em{font-style:italic;color:var(--charcoal-mid)}
.hero-subtitle{font-size:13px;font-weight:300;letter-spacing:0.1em;color:var(--charcoal-light);line-height:1.8;max-width:420px;margin:0 auto 3rem}
.hero-actions{display:flex;gap:1.5rem;justify-content:center;align-items:center}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--charcoal-light)}
.hero-scroll span{font-size:9px;letter-spacing:0.3em;text-transform:uppercase}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--charcoal-light),transparent);animation:scrollPulse 2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(0.8)}50%{opacity:1;transform:scaleY(1)}}

/* BUTTONS */
.btn-primary{font-size:10px;font-weight:400;letter-spacing:0.25em;text-transform:uppercase;background:var(--charcoal);color:var(--warm-white);border:none;padding:14px 32px;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--charcoal-mid)}
.btn-ghost{font-size:10px;font-weight:400;letter-spacing:0.25em;text-transform:uppercase;background:transparent;color:var(--charcoal);border:1px solid var(--charcoal);padding:13px 32px;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-block}
.btn-ghost:hover{background:var(--charcoal);color:var(--warm-white)}

/* SECTIONS */
section{padding:6rem 2rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{font-size:9px;font-weight:300;letter-spacing:0.4em;text-transform:uppercase;color:var(--sage);margin-bottom:1rem}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.1;color:var(--charcoal);margin-bottom:1.5rem}
.section-title em{font-style:italic}
.section-divider{width:40px;height:1px;background:var(--gold);margin-bottom:2rem}

/* FEATURED STRIP */
.featured-strip{background:var(--charcoal);padding:5rem 2rem}
.strip-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--charcoal-mid)}
.strip-card{background:var(--charcoal);padding:3rem 2.5rem;text-align:center;transition:background 0.3s;text-decoration:none;display:block}
.strip-card:hover{background:var(--charcoal-mid)}
.strip-icon{width:40px;height:1px;background:var(--gold);margin:0 auto 2rem}
.strip-card h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--cream);margin-bottom:0.75rem;letter-spacing:0.05em}
.strip-card p{font-size:12px;font-weight:300;color:var(--charcoal-light);line-height:1.8;letter-spacing:0.05em}

/* HOME GALLERY */
.home-gallery-grid{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:end}
.gallery-preview{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:320px 320px;gap:8px;margin-top:3rem}
.gp-item{overflow:hidden;position:relative;background:var(--border)}
.gp-item:first-child{grid-row:1/3;grid-column:1/2}
.gp-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:brightness(0.9)}
.gp-item:hover img{transform:scale(1.04)}
.gp-label{position:absolute;bottom:1rem;left:1rem;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.8);background:rgba(44,41,38,0.6);padding:6px 12px}

/* QUOTE */
.quote-section{background:var(--warm-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 2rem;text-align:center}
.quote-mark{font-family:'Cormorant Garamond',serif;font-size:72px;line-height:0.5;color:var(--sage-light);margin-bottom:1rem}
.quote-text{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,3vw,30px);font-weight:300;font-style:italic;color:var(--charcoal);max-width:700px;margin:0 auto 2rem;line-height:1.6}
.quote-attr{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--charcoal-light)}

/* INSTAGRAM */
.insta-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:3rem}
.insta-item{aspect-ratio:1;background:var(--border);overflow:hidden}
.insta-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s;filter:brightness(0.88)}
.insta-item:hover img{transform:scale(1.06);filter:brightness(1)}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-top:2rem}
.about-img-wrap{position:relative}
.about-text p{font-size:14px;font-weight:300;line-height:1.9;color:var(--charcoal-mid);margin-bottom:1.25rem}
.about-sig{font-family:'Cormorant Garamond',serif;font-size:32px;font-style:italic;color:var(--charcoal);margin-top:2rem}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;padding-top:3rem;border-top:1px solid var(--border)}
.about-stat{text-align:center}
.about-stat-num{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:var(--charcoal);line-height:1}
.about-stat-label{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:var(--charcoal-light);margin-top:0.5rem}

/* PORTFOLIO */
.portfolio-filters{display:flex;gap:2rem;margin-bottom:3rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}
.pf-btn{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;background:none;border:none;cursor:pointer;color:var(--charcoal-light);padding-bottom:4px;border-bottom:1px solid transparent;transition:all 0.2s}
.pf-btn.active,.pf-btn:hover{color:var(--charcoal);border-bottom-color:var(--gold)}
.portfolio-grid{columns:3;gap:10px}
.portfolio-item{break-inside:avoid;margin-bottom:10px;overflow:hidden;position:relative;cursor:pointer}
.portfolio-item img{width:100%;display:block;transition:transform 0.5s;filter:brightness(0.9)}
.portfolio-item:hover img{transform:scale(1.03);filter:brightness(1)}
.portfolio-overlay{position:absolute;inset:0;background:rgba(44,41,38,0);display:flex;align-items:flex-end;padding:1.5rem;transition:background 0.3s}
.portfolio-item:hover .portfolio-overlay{background:rgba(44,41,38,0.3)}
.portfolio-overlay span{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0);transition:color 0.3s}
.portfolio-item:hover .portfolio-overlay span{color:rgba(255,255,255,0.9)}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}
.service-card{background:var(--cream);padding:3rem 2.5rem;transition:background 0.3s}
.service-card:hover{background:var(--warm-white)}
.service-tag{font-size:9px;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.service-name{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:var(--charcoal);margin-bottom:1rem;line-height:1.1}
.service-desc{font-size:13px;font-weight:300;line-height:1.9;color:var(--charcoal-mid);margin-bottom:2rem}
.service-includes{list-style:none;margin-bottom:2rem}
.service-includes li{font-size:12px;font-weight:300;color:var(--charcoal-mid);padding:6px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.service-includes li::before{content:'';width:16px;height:1px;background:var(--sage);flex-shrink:0}
.service-price{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--charcoal);margin-bottom:0.25rem}
.service-price-note{font-size:10px;letter-spacing:0.15em;color:var(--charcoal-light)}
.service-btn{display:inline-block;margin-top:1.5rem;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--charcoal);border-bottom:1px solid var(--charcoal);padding-bottom:2px;text-decoration:none;transition:color 0.2s}
.service-btn:hover{color:var(--gold);border-bottom-color:var(--gold)}
.add-ons{margin-top:5rem;padding-top:5rem;border-top:1px solid var(--border)}
.add-ons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}
.add-on-item{padding:2rem;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.add-on-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;color:var(--charcoal);margin-bottom:0.25rem}
.add-on-desc{font-size:12px;color:var(--charcoal-light);font-weight:300}
.add-on-price{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--gold);white-space:nowrap;margin-left:1rem}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;margin-top:2rem}
.contact-info h3{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;margin-bottom:1.5rem;line-height:1.2}
.contact-info p{font-size:13px;font-weight:300;line-height:1.9;color:var(--charcoal-mid);margin-bottom:2rem}
.contact-details{list-style:none;margin-bottom:2.5rem}
.contact-details li{font-size:13px;font-weight:300;color:var(--charcoal-mid);padding:1rem 0;border-bottom:1px solid var(--border);display:flex;gap:1rem;align-items:flex-start}
.contact-detail-label{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--charcoal-light);min-width:80px;padding-top:2px}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.contact-form .form-group{margin-bottom:1rem}
.contact-form label{display:block;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--charcoal-light);margin-bottom:0.5rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 16px;border:1px solid var(--border);background:var(--warm-white);font-family:'Jost',sans-serif;font-size:13px;font-weight:300;color:var(--charcoal);outline:none;transition:border-color 0.2s;-webkit-appearance:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--charcoal-mid)}
.contact-form textarea{height:120px;resize:none}
.submit-btn{width:100%;margin-top:1rem;font-size:11px;font-weight:400;letter-spacing:0.25em;text-transform:uppercase;background:var(--charcoal);color:var(--warm-white);border:none;padding:16px;cursor:pointer;transition:background 0.2s}
.submit-btn:hover{background:var(--charcoal-mid)}
.submit-btn:disabled{opacity:0.6;cursor:not-allowed}
.success-msg{display:none;text-align:center;padding:3rem;border:1px solid var(--sage-light);background:rgba(138,158,140,0.08)}
.success-msg h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--charcoal);margin-bottom:0.75rem}
.success-msg p{font-size:13px;color:var(--charcoal-mid);font-weight:300}
.error-msg{display:none;text-align:center;padding:1rem;border:1px solid #e2b8b8;background:rgba(200,100,100,0.08);margin-top:1rem;font-size:13px;color:#a33}

/* PHOTO PLACEHOLDERS */
.photo-placeholder{background:var(--border);width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--charcoal-light)}
.photo-placeholder span{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;opacity:0.6}

/* FOOTER */
footer{background:var(--charcoal);padding:4rem 2rem 2rem;color:var(--cream)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.footer-brand-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;letter-spacing:0.15em;margin-bottom:0.5rem}
.footer-brand-sub{font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:1.5rem}
.footer-brand-desc{font-size:12px;font-weight:300;line-height:1.8;color:rgba(255,255,255,0.5)}
.footer-col h4{font-size:9px;letter-spacing:0.35em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:1.5rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:0.75rem}
.footer-col ul li a,.footer-col ul li span{font-size:13px;font-weight:300;color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.2s}
.footer-col ul li a:hover{color:var(--cream)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem}
.footer-copy{font-size:11px;font-weight:300;color:rgba(255,255,255,0.3)}
.footer-social{display:flex;gap:1.5rem}
.footer-social a{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s}
.footer-social a:hover{color:var(--cream)}
