/* Lightwell Advisory — house style
   Warm porcelain boutique: porcelain ground, pine-green ink, dusty rose accent. */

:root{
  color-scheme:light;
  --bg:#F3ECE3; --bg-hi:#F7F1E9; --surface:#FBF7F1; --card:#FDFAF6;
  --ink:#21403A; --ink-soft:#38524B; --muted:#615D54; --muted-2:#7A756B;
  --rose:#BE7A70; --rose-ink:#A85E50; --gold:#B08334;
  --hair:#E5DBCE; --btn-text:#F7F1E9;
  --shadow:0 2px 4px rgba(33,64,58,.04), 0 24px 48px -34px rgba(33,64,58,.42);
  --shadow-sm:0 1px 2px rgba(33,64,58,.05), 0 12px 26px -22px rgba(33,64,58,.4);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",system-ui,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection{background:var(--rose); color:#fff}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
img{max-width:100%; display:block}

.inner{max-width:1140px; margin-inline:auto; padding-inline:clamp(22px,5vw,56px)}
.serif{font-family:var(--serif); font-weight:600; letter-spacing:-.005em}
.lbl{font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; color:var(--rose-ink)}

.skip{position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--btn-text); padding:10px 16px; border-radius:0 0 10px 0; z-index:100; font-family:var(--sans); font-size:.9rem; text-decoration:none}
.skip:focus{left:0}

/* ---- buttons & links ---- */
.btn{
  font-family:var(--sans); font-weight:600; font-size:.92rem; text-decoration:none;
  display:inline-block; background:var(--ink); color:var(--btn-text);
  padding:14px 24px; border-radius:11px; border:1px solid var(--ink);
  cursor:pointer; transition:transform .2s, box-shadow .2s, background .2s;
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow-sm); background:#1A342E}
.btn:focus-visible{outline:2px solid var(--rose); outline-offset:3px}
.tlink{font-family:var(--sans); font-weight:600; font-size:.92rem; color:var(--ink); text-decoration:none; border-bottom:1.5px solid var(--rose); padding-bottom:2px}
.tlink:hover{color:var(--rose-ink)}
.tlink::after{content:"\00a0\2192"; color:var(--rose-ink)}
.tlink:focus-visible{outline:2px solid var(--rose); outline-offset:4px}

/* ---------- top nav ---------- */
.top{position:sticky; top:0; z-index:10; background:rgba(243,236,227,.82); -webkit-backdrop-filter:saturate(130%) blur(10px); backdrop-filter:saturate(130%) blur(10px); border-bottom:1px solid var(--hair)}
.top .inner{display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:16px}
.brand{font-family:var(--serif); font-weight:600; font-style:italic; font-size:1.6rem; color:var(--ink); text-decoration:none; letter-spacing:.01em; display:inline-flex; align-items:center; gap:11px}
.brand__dv{width:1px; height:16px; background:var(--hair); display:block}
.brand__tag{font-family:var(--sans); font-style:normal; font-weight:600; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted-2)}
.nav{display:flex; align-items:center; gap:28px}
.nav a{font-family:var(--sans); font-size:.9rem; color:var(--muted); text-decoration:none; transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav a.here{color:var(--ink); border-bottom:1.5px solid var(--rose); padding-bottom:3px}
.nav .pill{border:1px solid var(--ink); color:var(--ink); padding:9px 17px; border-radius:999px; font-weight:600; font-size:.83rem}
.nav .pill:hover{background:var(--ink); color:var(--btn-text)}
@media (max-width:680px){.nav a.hideable{display:none}}

/* ---------- home: hero ---------- */
.hero{background:linear-gradient(178deg,var(--bg-hi),var(--bg) 62%)}
.hero .inner{display:grid; grid-template-columns:1.32fr .88fr; gap:clamp(30px,5vw,60px); align-items:center; padding-block:clamp(52px,8vw,96px)}
@media (max-width:820px){.hero .inner{grid-template-columns:1fr; gap:36px}}
.hero h1{font-family:var(--serif); font-weight:600; font-size:clamp(2.3rem,5.4vw,3.6rem); line-height:1.08; letter-spacing:-.012em; margin-top:18px; text-wrap:balance}
.hero h1 em{font-style:italic; color:var(--rose-ink)}
.hero p.sub{font-family:var(--sans); font-size:1.1rem; color:var(--muted); max-width:44ch; line-height:1.58; margin-top:1.1em}
.hero .cta{display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:30px}

.cred{background:var(--card); border:1px solid var(--hair); border-radius:18px; padding:28px 30px; box-shadow:var(--shadow)}
.cred__k{font-family:var(--sans); font-size:.66rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--rose-ink); margin-bottom:16px}
.cred__list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.cred__list li{padding:15px 0; border-top:1px solid var(--hair); display:flex; flex-direction:column; gap:3px}
.cred__list li:first-child{border-top:0; padding-top:0}
.cred__list li:last-child{padding-bottom:0}
.cred__list b{font-family:var(--serif); font-weight:600; font-size:1.14rem; color:var(--ink); letter-spacing:-.005em}
.cred__list span{font-family:var(--sans); font-size:.9rem; color:var(--muted); line-height:1.45}

/* ---------- home: services grid ---------- */
.svc{padding-block:clamp(52px,8vw,96px)}
.svc__head{max-width:60ch}
.svc__head h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.8rem,3.6vw,2.6rem); line-height:1.1; letter-spacing:-.01em; margin-top:14px; text-wrap:balance}
.svc__head p{font-family:var(--sans); color:var(--muted); font-size:1.05rem; margin-top:14px; max-width:48ch}
.svc__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2.4vw,24px); margin-top:clamp(30px,4vw,48px)}
@media (max-width:680px){.svc__grid{grid-template-columns:1fr}}
.svc__card{background:var(--surface); border:1px solid var(--hair); border-radius:16px; padding:clamp(24px,3vw,34px); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:11px}
.svc__card .n{font-family:var(--serif); font-style:italic; font-size:1.05rem; color:var(--rose)}
.svc__card h3{font-family:var(--serif); font-weight:600; font-size:1.4rem; letter-spacing:-.005em; color:var(--ink)}
.svc__card p{font-family:var(--sans); color:var(--muted); font-size:1rem; line-height:1.55}
.svc__more{margin-top:26px}

/* ---------- approach columns (home + services) ---------- */
.apr{padding-block:clamp(52px,8vw,92px); border-top:1px solid var(--hair)}
.apr .lead{max-width:54ch}
.apr .lead h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.8rem,3.6vw,2.6rem); line-height:1.1; letter-spacing:-.01em; margin-top:14px}
.apr__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3.5vw,46px); margin-top:clamp(32px,4vw,54px)}
@media (max-width:720px){.apr__grid{grid-template-columns:1fr; gap:0}}
.apr__i{padding-top:20px; border-top:2px solid var(--rose)}
@media (max-width:720px){.apr__i{border-top:1px solid var(--hair); padding-block:26px} .apr__i:first-child{border-top:2px solid var(--rose)}}
.apr__i h3{font-family:var(--serif); font-weight:600; font-size:1.5rem; color:var(--ink); letter-spacing:-.005em}
.apr__i p{font-family:var(--sans); color:var(--muted); font-size:1rem; line-height:1.55; margin-top:10px; max-width:32ch}

/* ---------- home: about note ---------- */
.about{padding-block:clamp(48px,7vw,88px)}
.about .inner{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,5vw,64px); align-items:start}
@media (max-width:800px){.about .inner{grid-template-columns:1fr; gap:22px}}
.about h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.08; letter-spacing:-.012em; margin-top:14px; text-wrap:balance}
.about__note{font-family:var(--serif); font-size:1.22rem; line-height:1.56; color:var(--ink-soft)}
.about__note p+p{margin-top:1em}
.about__note .first::first-letter{font-size:3.2em; line-height:.8; float:left; padding:.05em .09em 0 0; color:var(--rose); font-weight:600}
.about__sign{font-family:var(--sans); font-style:normal; font-size:.92rem; color:var(--muted-2); margin-top:1.5em; letter-spacing:.01em}

/* ---------- pull-quote band ---------- */
.band{padding-block:clamp(46px,7vw,88px)}
.band .inner{max-width:940px}
.band blockquote{font-family:var(--serif); font-style:italic; font-weight:600; font-size:clamp(1.6rem,3.6vw,2.5rem); line-height:1.24; letter-spacing:-.008em; color:var(--ink); text-wrap:balance}
.band blockquote span{color:var(--rose-ink)}
.band .by{font-family:var(--sans); font-size:.82rem; letter-spacing:.03em; color:var(--muted-2); margin-top:22px; display:block}

/* ---------- boxed CTA (all pages) ---------- */
.cta-sec{padding-block:clamp(20px,4vw,40px) clamp(56px,8vw,96px)}
.cta-sec .box{background:var(--surface); border:1px solid var(--hair); border-radius:22px; padding:clamp(30px,5vw,60px); box-shadow:var(--shadow); display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,5vw,56px); align-items:center}
@media (max-width:760px){.cta-sec .box{grid-template-columns:1fr; gap:26px}}
.cta-sec h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem,4.2vw,3rem); line-height:1.06; letter-spacing:-.012em; text-wrap:balance}
.cta-sec p{font-family:var(--sans); color:var(--muted); font-size:1.06rem; margin-top:16px; max-width:38ch}
.cta-sec .r{display:flex; flex-direction:column; gap:18px; align-items:flex-start}
.cta-sec .meta{font-family:var(--sans); font-size:.82rem; letter-spacing:.02em; color:var(--muted-2); line-height:1.8}
.cta-sec .meta a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--rose)}

/* ---------- services page ---------- */
.s-hero{background:linear-gradient(178deg,var(--bg-hi),var(--bg) 64%)}
.s-hero .inner{padding-block:clamp(48px,7vw,92px) clamp(34px,5vw,56px)}
.s-hero h1{font-family:var(--serif); font-weight:600; font-size:clamp(2.4rem,5.6vw,3.7rem); line-height:1.06; letter-spacing:-.015em; margin-top:16px; text-wrap:balance; max-width:18ch}
.s-hero p{font-family:var(--sans); font-size:1.12rem; color:var(--muted); max-width:52ch; margin-top:1.1em; line-height:1.56}
.s-hero .cta{margin-top:26px}

.items{padding-block:clamp(20px,3vw,36px) clamp(30px,5vw,60px)}
.s-item{padding-block:clamp(38px,5vw,60px); border-top:1px solid var(--hair)}
.s-item__head{display:flex; align-items:baseline; gap:18px}
.s-item__n{font-family:var(--serif); font-style:italic; font-size:1.6rem; color:var(--rose); line-height:1}
.s-item__head h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.7rem,3.6vw,2.4rem); letter-spacing:-.01em; color:var(--ink)}
.s-item__body{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,60px); margin-top:clamp(20px,3vw,30px); align-items:start}
@media (max-width:760px){.s-item__body{grid-template-columns:1fr; gap:24px}}
.s-item__lead .lead{font-family:var(--sans); font-size:1.1rem; color:var(--ink-soft); line-height:1.58; max-width:46ch}
.s-item__chg{margin-top:20px; font-family:var(--sans); font-size:1rem; color:var(--muted); line-height:1.5; max-width:46ch}
.s-item__chg span{display:block; font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--rose-ink); margin-bottom:5px}
.s-item__inc{background:var(--surface); border:1px solid var(--hair); border-radius:16px; padding:clamp(22px,3vw,30px); box-shadow:var(--shadow-sm)}
.inc-label{font-family:var(--sans); font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:14px}
.s-item__inc ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
.s-item__inc li{position:relative; padding-left:24px; font-family:var(--sans); font-size:.99rem; color:var(--ink); line-height:1.45}
.s-item__inc li::before{content:""; position:absolute; left:2px; top:.5em; width:7px; height:7px; border-radius:50%; background:var(--rose)}

.work{padding-block:clamp(46px,7vw,84px); border-top:1px solid var(--hair)}
.work .lbl{display:block}
.work h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.7rem,3.4vw,2.4rem); letter-spacing:-.01em; margin-top:14px}
.work__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3.5vw,46px); margin-top:clamp(30px,4vw,50px)}
@media (max-width:720px){.work__grid{grid-template-columns:1fr; gap:0}}
.work__i{padding-top:20px; border-top:2px solid var(--rose)}
@media (max-width:720px){.work__i{border-top:1px solid var(--hair); padding-block:24px} .work__i:first-child{border-top:2px solid var(--rose)}}
.work__i h3{font-family:var(--serif); font-weight:600; font-size:1.4rem; color:var(--ink)}
.work__i p{font-family:var(--sans); color:var(--muted); font-size:1rem; line-height:1.55; margin-top:9px; max-width:32ch}

/* ---------- pricing ---------- */
.pricing{padding-block:clamp(46px,7vw,84px); border-top:1px solid var(--hair)}
.pricing .lbl{display:block}
.pricing h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.7rem,3.4vw,2.4rem); letter-spacing:-.01em; margin-top:14px}
.pricing__intro{font-family:var(--sans); color:var(--muted); font-size:1.05rem; max-width:58ch; margin-top:14px; line-height:1.56}
.start{display:flex; align-items:baseline; gap:10px 20px; flex-wrap:wrap; margin-top:clamp(26px,3.5vw,38px); padding:22px 26px; background:var(--surface); border:1px solid var(--hair); border-radius:14px; box-shadow:var(--shadow-sm)}
.start .s-k{font-family:var(--sans); font-size:.64rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--rose-ink); flex-basis:100%}
.start .s-t{font-family:var(--serif); font-weight:600; font-size:1.35rem; color:var(--ink)}
.start .s-p{font-family:var(--serif); font-weight:600; font-size:1.35rem; color:var(--ink); margin-left:auto; white-space:nowrap}
.start .s-d{font-family:var(--sans); font-size:.96rem; color:var(--muted); flex-basis:100%; line-height:1.5; max-width:64ch}
.tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,22px); margin-top:clamp(24px,3vw,34px)}
@media (max-width:820px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--surface); border:1px solid var(--hair); border-radius:16px; padding:clamp(24px,3vw,32px); box-shadow:var(--shadow-sm); display:flex; flex-direction:column}
.tier--feat{border-color:var(--rose); box-shadow:var(--shadow)}
.tier__tag{font-family:var(--sans); font-size:.6rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#fff; background:var(--rose-ink); align-self:flex-start; padding:4px 11px; border-radius:999px; margin-bottom:12px}
.tier__name{font-family:var(--serif); font-weight:600; font-size:1.5rem; color:var(--ink)}
.tier__hours{font-family:var(--sans); font-size:.82rem; color:var(--muted-2); margin-top:3px}
.tier__price{margin-top:16px; line-height:1}
.tier__price .from{display:block; font-family:var(--sans); font-weight:600; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:6px}
.tier__price .amt{font-family:var(--serif); font-weight:600; font-size:2rem; color:var(--ink)}
.tier__price small{font-family:var(--sans); font-weight:500; font-size:.8rem; color:var(--muted); letter-spacing:.02em}
.tier__desc{font-family:var(--sans); font-size:.98rem; color:var(--muted); line-height:1.52; margin-top:16px}
.projects{margin-top:clamp(30px,4vw,46px)}
.projects__k{font-family:var(--sans); font-size:.64rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--muted-2); margin-bottom:6px}
.prow{display:flex; align-items:baseline; gap:10px 18px; flex-wrap:wrap; padding:17px 0; border-top:1px solid var(--hair)}
.prow .p-t{font-family:var(--serif); font-weight:600; font-size:1.2rem; color:var(--ink)}
.prow .p-d{font-family:var(--sans); font-size:.94rem; color:var(--muted); flex:1 1 220px; line-height:1.45}
.prow .p-p{font-family:var(--serif); font-weight:600; font-size:1.12rem; color:var(--ink); margin-left:auto; white-space:nowrap}
.pricing__note{font-family:var(--sans); font-size:.92rem; color:var(--muted-2); margin-top:24px; max-width:62ch; line-height:1.55}

/* ---------- about page ---------- */
.a-hero{background:linear-gradient(178deg,var(--bg-hi),var(--bg) 66%)}
.a-hero .inner{padding-block:clamp(50px,8vw,100px) clamp(38px,6vw,64px)}
.a-hero h1{font-family:var(--serif); font-weight:600; font-size:clamp(2.5rem,6.2vw,4.1rem); line-height:1.04; letter-spacing:-.018em; margin-top:16px; text-wrap:balance; max-width:14ch}
.a-hero h1 em{font-style:italic; color:var(--rose-ink)}
.a-hero p{font-family:var(--sans); font-size:1.14rem; color:var(--muted); max-width:52ch; margin-top:1.15em; line-height:1.56}

.name{position:relative; overflow:hidden; background:var(--surface); border-block:1px solid var(--hair)}
.name__beam{position:absolute; top:-15%; left:14%; width:min(360px,44vw); height:130%; background:linear-gradient(180deg, rgba(214,176,110,.30), rgba(214,176,110,0) 68%); filter:blur(34px); transform:skewX(-9deg); pointer-events:none}
.name .inner{position:relative; padding-block:clamp(56px,9vw,110px)}
.name__lead{font-family:var(--serif); font-weight:600; font-size:clamp(2rem,4.6vw,3.2rem); line-height:1.1; letter-spacing:-.012em; color:var(--ink); max-width:20ch; text-wrap:balance}
.name__lead em{font-style:italic; color:var(--rose-ink)}
.name__body{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,4vw,52px); margin-top:clamp(28px,4vw,44px); max-width:900px}
@media (max-width:700px){.name__body{grid-template-columns:1fr; gap:18px}}
.name__body p{font-family:var(--sans); font-size:1.06rem; color:var(--ink-soft); line-height:1.62}
.name__note{font-family:var(--serif); font-style:italic; font-size:1.16rem; color:var(--muted); margin-top:clamp(26px,4vw,40px); max-width:52ch; line-height:1.5}
.name__note b{font-style:normal; font-weight:600; color:var(--ink)}

.believe{padding-block:clamp(52px,8vw,92px)}
.believe .lbl{display:block}
.believe h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.8rem,3.6vw,2.6rem); letter-spacing:-.01em; margin-top:14px; max-width:20ch; text-wrap:balance}
.believe__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(22px,3vw,20px) clamp(30px,5vw,64px); margin-top:clamp(30px,4vw,50px)}
@media (max-width:720px){.believe__grid{grid-template-columns:1fr; gap:0}}
.believe__i{padding:22px 0; border-top:1px solid var(--hair)}
.believe__i h3{font-family:var(--serif); font-weight:600; font-size:1.4rem; color:var(--ink); letter-spacing:-.005em}
.believe__i p{font-family:var(--sans); color:var(--muted); font-size:1rem; line-height:1.55; margin-top:8px; max-width:40ch}

.founder{padding-block:clamp(48px,7vw,92px); border-top:1px solid var(--hair)}
.founder .inner{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,5vw,64px); align-items:start}
@media (max-width:760px){.founder .inner{grid-template-columns:1fr; gap:28px}}
.portrait{position:relative; aspect-ratio:4/5; border-radius:18px; overflow:hidden; border:1px solid var(--hair); background:linear-gradient(160deg,#EFE7DA,#E7DBC9); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center}
.portrait img{width:100%; height:100%; object-fit:cover}
.portrait--empty::after{content:"Portrait coming soon"; font-family:var(--sans); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-2)}
.portrait__beam{position:absolute; inset:0; background:linear-gradient(150deg, rgba(255,244,220,.5), rgba(255,244,220,0) 55%); pointer-events:none}
.portrait--photo .portrait__beam{background:linear-gradient(150deg, rgba(255,244,220,.22), rgba(255,244,220,0) 45%)}
.founder__body .lbl{display:block}
.founder__body h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.8rem,3.6vw,2.5rem); letter-spacing:-.01em; margin-top:14px}
.founder__note{font-family:var(--serif); font-size:1.2rem; line-height:1.58; color:var(--ink-soft); margin-top:20px}
.founder__note p+p{margin-top:.9em}
.founder__note b{color:var(--ink); font-weight:600}
.founder__sign{font-family:var(--sans); font-size:.9rem; color:var(--muted-2); margin-top:1.4em; letter-spacing:.01em}

/* ---------- contact page ---------- */
.c-hero{background:linear-gradient(178deg,var(--bg-hi),var(--bg) 64%)}
.c-hero .inner{padding-block:clamp(48px,7vw,88px) clamp(30px,4vw,48px)}
.c-hero h1{font-family:var(--serif); font-weight:600; font-size:clamp(2.3rem,5.4vw,3.5rem); line-height:1.06; letter-spacing:-.015em; margin-top:16px; text-wrap:balance; max-width:18ch}
.c-hero p{font-family:var(--sans); font-size:1.1rem; color:var(--muted); max-width:50ch; margin-top:1em; line-height:1.56}

.c-body{padding-block:clamp(10px,2vw,20px) clamp(56px,8vw,96px)}
.c-body .inner{display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(30px,5vw,64px); align-items:start}
@media (max-width:800px){.c-body .inner{grid-template-columns:1fr; gap:34px}}

.form{background:var(--surface); border:1px solid var(--hair); border-radius:20px; padding:clamp(26px,4vw,40px); box-shadow:var(--shadow)}
.f-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:560px){.f-row{grid-template-columns:1fr}}
.f-field{display:flex; flex-direction:column; gap:7px; margin-bottom:18px}
.f-field label{font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft)}
.f-field label small{font-weight:500; text-transform:none; letter-spacing:0; color:var(--muted-2)}
.f-field input, .f-field select, .f-field textarea{
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--card); border:1px solid var(--hair); border-radius:10px;
  padding:13px 15px; width:100%; transition:border-color .2s, box-shadow .2s;
}
.f-field textarea{resize:vertical; min-height:130px; line-height:1.5}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus{outline:none; border-color:var(--rose); box-shadow:0 0 0 3px rgba(190,122,112,.18)}
.f-hidden{display:none}
.f-note{font-family:var(--sans); font-size:.84rem; color:var(--muted-2); margin-top:14px; line-height:1.5}

.c-side{display:flex; flex-direction:column; gap:26px}
.c-card{background:var(--card); border:1px solid var(--hair); border-radius:16px; padding:24px 26px; box-shadow:var(--shadow-sm)}
.c-card .k{font-family:var(--sans); font-size:.66rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--rose-ink); margin-bottom:10px}
.c-card p{font-family:var(--sans); font-size:.96rem; color:var(--muted); line-height:1.6}
.c-card a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--rose)}

/* ---------- thanks + 404 ---------- */
.solo{min-height:62vh; display:flex; align-items:center}
.solo .inner{padding-block:clamp(56px,10vw,120px); max-width:760px}
.solo h1{font-family:var(--serif); font-weight:600; font-size:clamp(2.2rem,5.4vw,3.4rem); line-height:1.07; letter-spacing:-.015em; margin-top:16px; text-wrap:balance}
.solo h1 em{font-style:italic; color:var(--rose-ink)}
.solo p{font-family:var(--sans); font-size:1.08rem; color:var(--muted); max-width:46ch; margin-top:1em; line-height:1.58}
.solo .cta{display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:28px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--hair)}
footer .inner{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:26px; flex-wrap:wrap}
footer .brand{font-size:1.2rem}
footer .f-r{display:flex; flex-direction:column; align-items:flex-end; gap:3px}
@media (max-width:560px){footer .f-r{align-items:flex-start}}
footer small{font-family:var(--sans); font-size:.8rem; color:var(--muted-2)}
footer small a{color:var(--muted-2); text-decoration:none; border-bottom:1px solid var(--hair)}
footer small a:hover{color:var(--ink); border-color:var(--rose)}

/* ---------- reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0; transform:translateY(15px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1; transform:none}
  .fade-up{animation:up .85s cubic-bezier(.2,.7,.2,1) both}
  .fade-up.d1{animation-delay:.05s}
  .fade-up.d2{animation-delay:.1s}
  .fade-up.d3{animation-delay:.14s}
  @keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (scripting:none){.rv{opacity:1 !important; transform:none !important}}
