:root{
  --cream:#f4efe8;
  --paper:#faf7f2;
  --ink:#151515;
  --muted:#716b64;
  --line:#ded6cc;
  --warm:#ece3d8;
  --accent:#c88d69;
  --dark:#171817;
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.nav{height:78px;padding:0 clamp(20px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(21,21,21,.08)}
.logo,.brand{font-family:Georgia,serif;letter-spacing:.24em;font-size:25px}
.brand-a{position:relative}
.brand-a:after{content:"";position:absolute;left:50%;bottom:2px;width:7px;height:7px;background:var(--accent);transform:translateX(-50%) rotate(45deg);z-index:-1}
.nav-tag,.eyebrow{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.menu-btn{width:42px;height:42px;background:none;border:0;display:grid;align-content:center;gap:5px}
.menu-btn span{height:1.5px;width:25px;background:var(--ink);display:block;margin:auto}
.mobile-menu{position:fixed;inset:78px 0 auto 0;background:var(--dark);color:white;padding:30px 28px;display:none;z-index:25}
.mobile-menu.open{display:grid}
.mobile-menu a{font:28px Georgia,serif;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.section{padding:100px 20px}
.section-warm{background:var(--warm)}
.section-inner{max-width:1080px;margin:auto}
.section h2,.cta h2{font:clamp(40px,6vw,72px)/1.02 Georgia,serif;font-weight:400;margin:12px 0 30px}
h2 em{font-style:italic}
.section p{max-width:680px}
.hero,.cta{position:relative;min-height:calc(100svh - 78px);overflow:hidden;background:var(--dark);color:#fff}
.hero-photo,.cta-bg{position:absolute;inset:0}
.placeholder-photo{background:
 radial-gradient(circle at 75% 30%,rgba(255,220,180,.5),transparent 22%),
 linear-gradient(145deg,#263b40 0%,#6f7f78 45%,#b68e69 100%);
 position:relative;overflow:hidden}
.placeholder-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 42%,rgba(0,0,0,.25) 43%,transparent 44%),linear-gradient(0deg,rgba(0,0,0,.32),transparent 55%)}
.photo-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:rgba(255,255,255,.78);z-index:2}
.photo-note small{font-size:9px;letter-spacing:.06em;text-transform:none}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.1) 70%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}
.hero-content{position:relative;z-index:2;max-width:620px;padding:clamp(70px,12vh,150px) clamp(24px,8vw,100px)}
.eyebrow.light{color:rgba(255,255,255,.68)}
.hero h1{font:clamp(55px,9vw,105px)/.94 Georgia,serif;font-weight:400;margin:25px 0}
.hero h1 em{font-size:.65em}
.short-line,.age-line{width:52px;height:2px;background:var(--accent);margin:25px 0}
.hero-copy{font-size:17px;max-width:510px;color:rgba(255,255,255,.88)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 25px;border-radius:999px;border:1px solid transparent;font-weight:600;transition:.2s;min-height:52px}
.button:hover{transform:translateY(-2px)}
.button.light{background:#f8f3eb;color:#111}
.button.dark{background:#171817;color:#fff}
.button.accent{background:linear-gradient(100deg,#dca16f,#bc6eaa);color:white}
.button.outline-light{border-color:rgba(255,255,255,.7);color:#fff}
.button.full{width:100%}
.hero-quote{font:italic 20px Georgia,serif;max-width:320px!important;margin-top:70px!important;color:rgba(255,255,255,.8)}
.scroll-hint{position:absolute;z-index:3;bottom:24px;left:clamp(24px,8vw,100px);font-size:9px;letter-spacing:.28em;color:rgba(255,255,255,.7)}
.scroll-hint span{font-size:20px;margin-left:12px}
.profile-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:70px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:var(--radius)}
.photo-portrait{background:linear-gradient(145deg,#b9d1d5,#577b81 45%,#d3a47d)}
.profile-copy h2{margin-bottom:3px}
.location{color:var(--accent);margin:0 0 25px!important}
.profile-copy p{font-size:17px}
.quote-box,.weekend{background:#e9dfd4;border-radius:22px;padding:25px 28px;margin-top:30px}
.quote-box{font:italic 18px Georgia,serif}
.section-heading{margin-bottom:35px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:12px}
.gallery-item{border-radius:17px;min-height:220px}
.gallery-item.tall{grid-row:span 2}
.gallery-item:nth-child(1){background:linear-gradient(145deg,#77908b,#d4a179)}
.gallery-item:nth-child(2){background:linear-gradient(145deg,#607b95,#c7a879)}
.gallery-item:nth-child(3){background:linear-gradient(145deg,#374a42,#9ba58b)}
.gallery-item:nth-child(4){background:linear-gradient(145deg,#b37d5e,#394f56)}
.gallery-item:nth-child(5){background:linear-gradient(145deg,#728c99,#d7b47d)}
.gallery-item:nth-child(6){background:linear-gradient(145deg,#c18c6b,#f0d5aa)}
.text-link{display:inline-block;margin-top:24px;font:italic 20px Georgia,serif;border-bottom:1px solid var(--ink)}
.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px 0}
.interest{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:5px}
.interest span{font-size:28px}.interest b{font-size:16px}.interest small{color:var(--muted)}
.weekend{max-width:600px;margin:35px auto}.weekend h3{font:24px Georgia,serif;margin:0}.weekend p{margin:4px 0}.quote-mark{font:45px Georgia;color:var(--accent)}
.wide-photo{height:330px;border-radius:24px;background:linear-gradient(145deg,#415d60,#b28b6a)}
.looking{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.looking-copy{font-size:20px}
.cta-inner{position:relative;z-index:2;text-align:center;max-width:700px;margin:auto;padding:100px 20px}
.cta h2{font-size:clamp(42px,7vw,75px)}
.cta .big{font:italic 35px Georgia,serif;color:#f2c3a2}
.cta-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:35px 0}.cta-buttons .button{min-width:260px}
.no-pressure{font-size:13px;color:rgba(255,255,255,.72)}
.contact{max-width:680px}.contact>p{font-size:17px}
form{margin-top:35px;display:grid;gap:20px}
label{display:grid;gap:8px;font-size:13px;font-weight:600}
label span{color:var(--accent)}
input,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.45);padding:15px 16px;border-radius:13px;outline:none}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,141,105,.13)}
.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{position:absolute;opacity:0;width:1px;height:1px}.box{width:20px;height:20px;border:1px solid #9e968e;border-radius:5px;background:white;display:inline-block;position:relative;flex:none}.check input:checked+.box{background:var(--ink);border-color:var(--ink)}.check input:checked+.box:after{content:"✓";color:#fff;position:absolute;left:4px;top:-1px;font-size:14px}
.form-check{margin:2px 0}
.privacy,.fine{font-size:11px!important;color:var(--muted)}
.success{display:none;text-align:center;padding:50px 20px;background:var(--warm);border-radius:22px;margin-top:30px}.success.show{display:block}.success-icon{font-size:45px;color:var(--accent)}
footer{text-align:center;padding:80px 20px;background:#e9e1d7}.footer-links{display:flex;justify-content:center;gap:25px;margin:25px 0}.footer-links a{border-bottom:1px solid #aaa}
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(23,24,23,.78);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.age-card{width:min(460px,100%);background:var(--paper);padding:45px 32px;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.3);text-align:center}.age-card .eyebrow{margin-top:8px}.age-card h1{font:40px Georgia,serif;font-weight:400}.age-card p{color:var(--muted)}.age-card .check{justify-content:center;margin:28px 0}.age-gate.hidden{display:none}
@media(max-width:760px){
 .nav{height:68px}.mobile-menu{inset:68px 0 auto 0}
 .nav-tag{display:none}
 .section{padding:72px 18px}
 .hero{min-height:calc(100svh - 68px)}
 .hero-content{padding:70px 24px 100px}
 .hero h1{font-size:58px}
 .profile-grid,.looking{grid-template-columns:1fr;gap:35px}
 .profile-copy p{font-size:16px}
 .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
 .gallery-item{min-height:180px}.gallery-item.tall{grid-row:span 2}
 .interest-grid{grid-template-columns:repeat(2,1fr)}
 .interest{padding:18px}
 .wide-photo{height:260px}
 .cta-inner{padding:80px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}


/* ===== Desktop hero refinement ===== */
@media (min-width: 761px){
  .hero{
    min-height: calc(100svh - 78px);
    display:flex;
    align-items:stretch;
    position:relative;
  }
  .hero-photo{
    position:absolute;
    inset:0 0 0 45%;
    z-index:0;
    background:
      linear-gradient(180deg, rgba(18,22,22,.05), rgba(18,22,22,.22)),
      radial-gradient(ellipse at 78% 22%, rgba(247,202,151,.95) 0%, rgba(215,166,119,.55) 18%, transparent 38%),
      linear-gradient(150deg, #263c42 0%, #617c7c 38%, #8e9a88 54%, #c39772 75%, #2c4142 100%);
  }
  .hero-photo:after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:48%;
    background:
      linear-gradient(145deg, transparent 0 38%, rgba(29,48,47,.65) 39% 47%, transparent 48%),
      linear-gradient(12deg, rgba(16,28,29,.78) 0 32%, transparent 33%),
      linear-gradient(175deg, transparent 0 48%, rgba(22,42,42,.58) 49% 62%, transparent 63%);
    opacity:.9;
  }
  .hero-photo .photo-note{
    display:none;
  }
  .hero-overlay{
    z-index:1;
    inset:0 55% 0 0;
    background:linear-gradient(90deg, #171817 0%, #171817 72%, rgba(23,24,23,.94) 88%, rgba(23,24,23,0) 100%);
  }
  .hero-content{
    width:50%;
    max-width:none;
    padding:clamp(90px,11vh,150px) clamp(45px,7vw,120px);
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero h1{
    font-size:clamp(58px,6.5vw,100px);
    max-width:650px;
  }
  .hero-copy{font-size:17px;max-width:500px}
  .hero-quote{margin-top:55px!important}
  .scroll-hint{left:clamp(45px,7vw,120px)}
}

/* ===== Better mobile hero ===== */
@media (max-width: 760px){
  .hero-photo{
    z-index:0;
    background:
      radial-gradient(circle at 76% 18%, rgba(247,202,151,.9), transparent 28%),
      linear-gradient(145deg,#294148 0%,#6e8581 44%,#b68e6c 76%,#273b3d 100%);
  }
  .hero-photo .photo-note{display:none}
  .hero-overlay{
    z-index:1;
    background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 60%);
  }
}
