/* Colors are the app's real "rose and ivory" tokens (src/theme.ts in the app). */
:root{--bg:#F8F5F3;--card:#FFFCFB;--line:#EADFDD;--text:#3A2A30;--body:#5C4A50;--soft:#6B5860;--rose:#DB4E75;--press:#C23A63;--deep:#B93560;--ink:#7A2443;--wash:#FBE9EE;--chip:#F6E3E8;--chipEdge:#E3BFCB;--focus:#8F2447;--shadow:rgba(90,36,56,.14);--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:linear-gradient(160deg,#F8F5F3 0%,#FAF0EF 65%,#F9E9ED 100%) fixed;color:var(--body);font:16px/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ol,ul,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--text);letter-spacing:-.02em;line-height:1.12}
a{color:var(--press)}
.wrap{max-width:1160px;margin:0 auto;padding:0 40px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:44px;background:#fff;padding:10px 14px;border-radius:8px;z-index:20}
.review{background:var(--ink);color:#fff;text-align:center;font-size:12px;letter-spacing:.04em;padding:8px 16px}
.nav{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.brand img{width:190px}.brand.sm img{width:150px}
.links{display:flex;align-items:center;gap:28px;font-size:15px}
.links a{text-decoration:none;color:var(--body)}.links a:hover{color:var(--press)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--press);color:#fff!important;border:1px solid #A32F55;border-radius:999px;padding:15px 28px;font:600 16px var(--sans);text-decoration:none;cursor:pointer;min-height:48px;box-shadow:0 6px 16px var(--shadow)}
.btn:hover{background:var(--deep)}.btn.small{padding:10px 20px;min-height:42px;font-size:14px;box-shadow:none}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--soft)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:48px;padding-bottom:72px}
.hero h1{font-size:clamp(44px,5.6vw,74px);margin:18px 0 22px}
.hero h1 em{color:var(--press);font-style:italic}
.lead{font-size:20px;line-height:1.7;max-width:520px;color:var(--body)}
.actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}
.text-link{font-weight:600;text-underline-offset:5px}
.note-small{font-size:13px;color:var(--soft);margin-top:18px}.center{text-align:center}
.phone-wrap{display:flex;flex-direction:column;align-items:center;gap:14px}
.phone{background:#2d2227;border-radius:44px;padding:9px;box-shadow:0 30px 60px var(--shadow);width:100%;max-width:310px}
.phone img{border-radius:36px;width:100%}
.phone.sm{max-width:220px;border-radius:34px;padding:7px}.phone.sm img{border-radius:28px}
figcaption{font-size:13px;color:var(--soft);text-align:center;max-width:300px}
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,252,251,.6)}
.band-in{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:30px;padding-bottom:30px}
.band p{font-family:var(--serif);font-size:26px;color:var(--text)}
.band ul{display:flex;gap:24px;list-style:none;padding:0;font-size:14px;color:var(--soft)}
.section{padding-top:88px;padding-bottom:88px}.section.tight{padding-top:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.split.head{align-items:end;margin-bottom:40px}
h2{font-size:clamp(34px,4vw,48px);margin-top:14px}
.prose{font-size:17px;max-width:520px}.prose p+p,.prose+.prose{margin-top:16px}.quiet{color:var(--soft);font-size:15px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 10px 26px var(--shadow)}
.num{font-family:var(--serif);color:var(--press);font-size:15px}
h3{font-size:26px;margin:14px 0 12px}
.steps p{font-size:15px}
.ideas{background:linear-gradient(145deg,var(--wash) 0%,var(--bg) 100%);padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ideas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.ideas h2{margin:14px 0 18px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.tabs button{border:1px solid var(--chipEdge);background:var(--chip);color:var(--ink);border-radius:999px;padding:11px 20px;font:600 15px var(--sans);cursor:pointer;min-height:44px}
.tabs button[aria-pressed=true]{background:var(--press);border-color:#A32F55;color:#fff}
.idea-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:40px;box-shadow:0 14px 34px var(--shadow);min-height:290px}
.idea-card h3{font-size:34px;margin:18px 0 16px}
.caption{font-size:12px;color:var(--soft);margin-top:24px}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;justify-items:center;align-items:start}
.shots figure{display:flex;flex-direction:column;align-items:center;gap:16px}
.looks{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:84px;background:var(--card);border:1px solid var(--line);border-radius:36px;padding:48px;box-shadow:0 14px 34px var(--shadow)}
.looks h3{font-size:32px}.looks-shots{display:flex;gap:20px;justify-content:center}
.beta{text-align:center;max-width:680px;padding-top:40px;padding-bottom:88px}
.beta h2{margin:14px 0 18px}.beta .prose{margin:0 auto}
.beta-form{display:flex;gap:10px;margin:30px auto 10px;max-width:520px}
.beta-form input{flex:1;min-width:0;border:1px solid #CDB9BE;background:var(--card);border-radius:999px;padding:14px 22px;font:16px var(--sans);color:var(--text);min-height:50px}
.beta-form input[aria-invalid=true]{border-color:#8E2A2A}
.beta-msg{min-height:26px;font-weight:600;color:var(--ink);margin-top:8px}
.beta-msg.err{color:#8E2A2A}
.footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:26px;padding-bottom:36px;font-size:13px;color:var(--soft)}
.footer p{text-align:right}
@media(max-width:860px){
 .wrap{padding:0 22px}.links a:not(.btn){display:none}.brand img{width:150px}
 .hero{grid-template-columns:1fr;gap:36px;padding-top:28px;padding-bottom:48px}
 .lead{font-size:18px}
 .band-in{flex-direction:column;align-items:flex-start}.band p{font-size:23px}.band ul{flex-wrap:wrap;gap:8px 18px}
 .section{padding-top:56px;padding-bottom:56px}
 .split,.split.head,.ideas-grid,.looks{grid-template-columns:1fr;gap:24px}
 .steps{grid-template-columns:1fr}.shots{grid-template-columns:1fr;gap:40px}
 .looks{padding:28px 22px;margin-top:56px}.idea-card{padding:28px}
 .beta-form{flex-direction:column}.footer{flex-direction:column;align-items:flex-start;gap:14px}.footer p{text-align:left}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
