:root { --presale-paper:#f7f4ee; --presale-wood:#d8c9b7; --presale-ink:#1c1b19; --presale-orange:#a4512d; --presale-line:#ded8cf; }
.presale-site { background:#fff; color:var(--presale-ink); }
.presale-site [hidden] { display:none !important; }
.presale-site .site-header { min-height:88px; }
.presale-main { width:min(1320px,calc(100% - 48px)); }
.presale-main section { padding:clamp(72px,9vw,132px) 0; }
.presale-hero { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); gap:clamp(32px,6vw,88px); align-items:center; min-height:calc(100dvh - 88px); border-top:0; }
.presale-hero h1 { margin:0 0 28px; font-size:clamp(56px,8.5vw,126px); letter-spacing:-.055em; }
.presale-lede { max-width:620px; color:#46423d; font-size:clamp(17px,1.7vw,23px); line-height:1.75; }
.presale-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.presale-button { display:inline-flex; min-height:52px; padding:10px 20px; border:1px solid var(--presale-ink); align-items:center; justify-content:center; gap:12px; background:#fff; color:var(--presale-ink); cursor:pointer; font:inherit; line-height:1.2; text-align:left; transition:background .2s,color .2s,border-color .2s; }
.presale-button small { color:#777169; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.presale-button.primary { border-color:var(--presale-orange); background:var(--presale-orange); color:#fff; }
.presale-button.primary small { color:rgba(255,255,255,.75); }
.presale-button:hover,.presale-button:focus-visible { border-color:var(--presale-orange); background:var(--presale-orange); color:#fff; }
.presale-button:hover small,.presale-button:focus-visible small { color:rgba(255,255,255,.75); }
.presale-button:disabled { cursor:wait; opacity:.55; }
.presale-hero-media { margin:0; }
.presale-hero-media img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:var(--presale-paper); }
.presale-hero-media figcaption { padding-top:10px; color:#777169; font-size:11px; }
.presale-services .section-head>p { max-width:460px; margin:0; color:#625e58; }
.presale-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--presale-line); border-bottom:1px solid var(--presale-line); }
.presale-service-grid article { min-height:240px; padding:28px; border-right:1px solid var(--presale-line); }
.presale-service-grid article:last-child { border-right:0; }
.presale-service-grid span { color:var(--presale-orange); font-size:12px; }
.presale-service-grid h3 { margin:64px 0 14px; font-size:22px; font-weight:500; }
.presale-service-grid p { color:#625e58; }
.presale-analysis { display:grid; grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr); gap:clamp(36px,7vw,110px); background:var(--presale-paper); box-shadow:0 0 0 100vmax var(--presale-paper); clip-path:inset(0 -100vmax); }
.presale-analysis-intro { position:sticky; top:112px; align-self:start; }
.presale-analysis-intro>p { max-width:480px; color:#56514b; font-size:17px; }
.presale-analysis-intro dl { margin:46px 0 0; }
.presale-analysis-intro dl div { padding:18px 0; border-top:1px solid var(--presale-line); }
.presale-analysis-intro dt { font-weight:600; }
.presale-analysis-intro dd { margin:5px 0 0; color:#68625b; font-size:13px; }
.presale-form { min-width:0; }
.presale-form fieldset { margin:0 0 18px; padding:30px; border:1px solid var(--presale-line); background:#fff; }
.presale-form legend { padding:0 12px; font-size:18px; font-weight:600; }
.presale-form legend span { margin-right:10px; color:var(--presale-orange); font-size:11px; }
.presale-dropzone { display:grid; min-height:190px; padding:28px; border:1px dashed #aaa196; place-content:center; gap:8px; text-align:center; cursor:pointer; transition:border-color .2s,background .2s; }
.presale-dropzone:hover,.presale-dropzone:focus-visible,.presale-dropzone.is-dragging { border-color:var(--presale-orange); background:#fbf8f3; }
.presale-dropzone strong { font-size:18px; }
.presale-dropzone small,.presale-dropzone span { color:#777169; font-size:12px; }
.presale-file-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.presale-file { position:relative; min-width:0; border:1px solid var(--presale-line); background:#fff; }
.presale-file img { aspect-ratio:4/3; object-fit:cover; }
.presale-file-copy { padding:9px 10px 11px; }
.presale-file-copy strong { display:block; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.presale-file-copy small { color:#777169; font-size:10px; }
.presale-file button { position:absolute; top:7px; right:7px; width:30px; height:30px; border:0; border-radius:50%; background:rgba(20,20,20,.78); color:#fff; cursor:pointer; }
.presale-file progress { width:100%; height:3px; appearance:none; }
.presale-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.presale-field-note { margin:0 0 18px; color:#6d675f; font-size:12px; }
.presale-fields label,.report-email-card label,.report-contact-card label { display:grid; gap:7px; color:#49453f; font-size:13px; }
.presale-fields .wide,.report-contact-card .wide { grid-column:1/-1; }
.presale-fields input,.presale-fields select,.presale-fields textarea,.report-email-card input,.report-contact-card input,.report-contact-card select,.report-contact-card textarea { width:100%; padding:12px 13px; border:1px solid #cec7bd; border-radius:0; background:#fff; color:var(--presale-ink); }
.presale-consent { display:flex; gap:11px; align-items:flex-start; font-size:13px; }
.presale-consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--presale-orange); }
.presale-consent a { color:var(--presale-orange); text-decoration:underline; }
.presale-submit-row { display:flex; align-items:center; gap:22px; margin-top:26px; }
.presale-form-status { margin:0; color:#6d675f; font-size:13px; }
.presale-form-status.is-error { color:#9b2c20; }
.presale-progress { height:4px; margin-top:18px; overflow:hidden; background:#e5dfd6; }
.presale-progress span { display:block; width:0; height:100%; background:var(--presale-orange); transition:width .3s; }
.presale-process ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; border-top:1px solid var(--presale-line); list-style:none; }
.presale-process li { display:grid; min-height:140px; padding:22px 18px; border-right:1px solid var(--presale-line); align-content:space-between; }
.presale-process li:last-child { border-right:0; }
.presale-process b { color:var(--presale-orange); font-size:11px; font-weight:500; }
.presale-process span { font-size:16px; }
.presale-contact { display:grid; grid-template-columns:1.2fr .8fr auto; gap:clamp(26px,5vw,74px); align-items:end; }
.presale-contact address { display:grid; gap:6px; font-style:normal; }
.presale-contact address strong { margin-bottom:8px; }
.presale-footer { gap:24px; flex-wrap:wrap; }
.privacy-main,.presale-report-shell { width:min(1000px,calc(100% - 40px)); margin:0 auto; padding:clamp(72px,10vw,140px) 0; }
.privacy-main>h1 { max-width:780px; margin-bottom:30px; font-size:clamp(42px,7vw,82px); }
.privacy-lede { max-width:720px; color:#56514b; font-size:20px; }
.privacy-main section { padding:34px 0; }
.privacy-main section h2 { margin-bottom:12px; font-size:24px; }
.privacy-main section p { max-width:760px; margin:0; color:#56514b; }
.presale-report-loading { min-height:60vh; display:grid; place-content:center; text-align:center; }
.presale-report { background:#fff; }
.report-cover { display:grid; min-height:72vh; padding:56px; background:var(--presale-paper); align-content:space-between; page-break-after:always; }
.report-cover h1 { max-width:760px; margin:0 0 28px; font-size:clamp(44px,7vw,78px); line-height:1.04; }
.report-cover-meta { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--presale-line); padding-top:20px; color:#68625b; }
.report-section { padding:48px 0; border-top:1px solid var(--presale-line); break-inside:avoid; }
.report-section h2 { margin-bottom:24px; font-size:30px; }
.report-summary { max-width:820px; font-size:20px; line-height:1.8; }
.report-confidence { color:var(--presale-orange); font-variant-numeric:tabular-nums; }
.report-tags,.report-materials,.report-likes { display:flex; flex-wrap:wrap; gap:9px; }
.report-tag { padding:8px 12px; border:1px solid var(--presale-line); background:#fff; font-size:13px; }
.report-palette { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; }
.report-color { min-height:150px; padding:14px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(0,0,0,.09); }
.report-color span { padding:5px 7px; background:rgba(255,255,255,.88); font-size:11px; }
.report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.report-card { padding:22px; border:1px solid var(--presale-line); background:#fff; }
.report-card h3 { margin-bottom:10px; font-size:17px; }
.report-card p { margin:0; color:#5e5952; }
.report-images { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.report-images img { aspect-ratio:4/3; object-fit:cover; background:var(--presale-paper); }
.presale-report.is-pdf-rendering { width:1000px; max-width:none; }
.presale-report.is-pdf-rendering .report-cover { min-height:700px; }
.presale-report.is-pdf-rendering .report-section { break-inside:auto; }
.presale-report-actions { display:grid; gap:28px; margin-top:58px; padding-top:40px; border-top:2px solid var(--presale-ink); }
.report-action-grid { display:flex; flex-wrap:wrap; gap:10px; }
.report-email-card,.report-contact-card { display:grid; gap:16px; padding:26px; border:1px solid var(--presale-line); background:var(--presale-paper); }
.report-email-card h3,.report-contact-card h3 { margin:0; }
.report-email-card>p,.report-contact-card>p { margin:0; color:#68625b; font-size:13px; }
.report-contact-card>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.report-email-card .presale-button,.report-contact-card .presale-button { justify-self:start; }
.report-email-card [role=status],.report-contact-card [role=status] { font-size:13px; }
@media (max-width:980px) { .presale-hero{grid-template-columns:1fr;min-height:auto}.presale-hero-copy{padding-top:32px}.presale-service-grid{grid-template-columns:repeat(2,1fr)}.presale-service-grid article:nth-child(2){border-right:0}.presale-service-grid article:nth-child(-n+2){border-bottom:1px solid var(--presale-line)}.presale-analysis{grid-template-columns:1fr}.presale-analysis-intro{position:static}.presale-contact{grid-template-columns:1fr 1fr}.presale-contact>.presale-button{grid-column:1/-1;justify-self:start}.report-images{grid-template-columns:repeat(3,1fr)} }
@media (max-width:760px) { .presale-site .site-header{min-height:76px}.presale-main{width:min(100% - 28px,1320px)}.presale-hero{gap:32px;padding-top:38px}.presale-hero h1{font-size:clamp(50px,19vw,76px)}.presale-hero-actions{display:grid}.presale-button{width:100%;text-align:center}.presale-service-grid{grid-template-columns:1fr}.presale-service-grid article{min-height:170px;border-right:0;border-bottom:1px solid var(--presale-line)!important}.presale-service-grid h3{margin-top:38px}.presale-form fieldset{padding:22px 16px}.presale-fields{grid-template-columns:1fr}.presale-file-list{grid-template-columns:repeat(2,minmax(0,1fr))}.presale-submit-row{display:grid}.presale-process ol{grid-template-columns:1fr}.presale-process li{min-height:76px;grid-template-columns:42px 1fr;align-items:center;border-right:0;border-bottom:1px solid var(--presale-line)}.presale-contact{grid-template-columns:1fr}.presale-contact>.presale-button{grid-column:auto}.presale-footer{align-items:flex-start}.report-cover{min-height:70vh;padding:32px 20px}.report-cover-meta{display:grid}.report-grid{grid-template-columns:1fr}.report-images{grid-template-columns:repeat(2,1fr)}.report-contact-card>div{grid-template-columns:1fr}.report-action-grid{display:grid}.privacy-main,.presale-report-shell{width:calc(100% - 28px)} }
@media print { @page{size:A4;margin:14mm 12mm}.no-pdf{display:none!important}.presale-report-shell{width:auto;padding:0}.report-page{background:#fff}.report-cover{min-height:250mm;padding:20mm 10mm}.report-section{break-inside:avoid;padding:10mm 0}.report-images{grid-template-columns:repeat(3,1fr)} }

.presale-about { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(180px,.55fr); gap:clamp(28px,8vw,120px); align-items:center; border-top:1px solid var(--presale-line); }
.presale-about p { max-width:670px; color:#625e58; line-height:1.9; }
.presale-about figure { margin:0; }
.presale-about img { width:100%; max-height:420px; object-fit:cover; }
.presale-about figcaption { margin-top:14px; color:#625e58; }
.contact-only-action { padding:20px 0; border-bottom:1px solid var(--presale-line); margin-bottom:20px; }
.contact-only-action p { font-size:13px; color:#625e58; margin:12px 0 0; }
#client-intake { scroll-margin-top:110px; }
@media (max-width:760px) { .presale-about { grid-template-columns:1fr; } .presale-about figure { max-width:280px; } }

@media(max-width:760px){.presale-main .presale-hero{padding-top:30px}.presale-hero-actions .presale-button{flex-direction:column;gap:6px;min-height:64px}.presale-hero-actions .presale-button small{white-space:nowrap}}
