/* White & Cashmere — Alona, 26 October 2026. Local preview; cloud change pending free credits. */
:root {
 --background:#ffffff; --foreground:#302d29;
 --card:#faf8f5; --card-foreground:#302d29;
 --primary:#302d29; --primary-foreground:#ffffff;
 --secondary:#f0e9e0; --secondary-foreground:#302d29;
 --muted:#f4efe8; --muted-foreground:#6d665e;
 --accent:#4d624c; --accent-foreground:#ffffff;
 --border:#e4ddd4; --ring:#4d624c;
 --ink:#f3eee7; --ink-foreground:#302d29;
}
body { background:#fff; }
header { background:rgba(255,255,255,.98); }
#about { background:linear-gradient(125deg,#faf8f5,#f1ebe3); }
#shop { background:#faf8f5; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Pay-first sessions. No embedded checkout or public scheduling link. */
.payment-guide{margin-top:2.5rem;padding:1.75rem;border:1px solid var(--border);background:var(--card)}
.payment-guide h2{margin-top:.75rem}.payment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem;list-style:none;padding:0}
.payment-steps strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}.payment-steps p,.payment-note{font-size:.875rem;line-height:1.7;color:var(--muted-foreground);margin-top:.65rem}.payment-note{margin-top:1.25rem}.payment-note a{color:var(--foreground);overflow-wrap:anywhere}
@media(max-width:639px){.payment-guide{padding:1.25rem}.payment-steps{grid-template-columns:1fr;gap:1rem}}

/* Textured cashmere refinement */
:root{--cashmere-weave:repeating-linear-gradient(0deg,rgba(115,99,80,.021) 0px,rgba(115,99,80,.021) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(115,99,80,.014) 0px,rgba(115,99,80,.014) 1px,transparent 1px,transparent 4px)}
.bg-card,.payment-guide{background-image:var(--cashmere-weave);background-color:var(--card)}
#about{background-image:var(--cashmere-weave),linear-gradient(125deg,#fcfbf8,#f2ede5)}
#shop{background-image:var(--cashmere-weave);background-color:#faf8f5}
header{background:#fff}body{background:#fff}.btn-line{border-color:#b3aaa0}.payment-guide{border-color:#e6dfd5}

/* Approved personal portraits — 28 October 2026. */
.portrait-editorial{width:100%;max-width:29rem;margin:0 auto;}
.portrait-mat{padding:12px;background:#f8f5f0;border:1px solid #e4ddd4;}
.portrait-main{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 42%;}
.portrait-editorial figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:#6d665e;}
.about-portrait{display:block;width:100%;max-width:20rem;height:auto;margin:auto;object-fit:contain;border:10px solid #fff;outline:1px solid #e4ddd4;}
@media(max-width:767px){.portrait-editorial{max-width:24rem;}.portrait-mat{padding:9px;}.about-portrait{max-width:18rem;}}

.landscape-sample{display:grid;gap:2.5rem;align-items:center;margin-top:5rem;padding-top:4rem;border-top:1px solid var(--border);}
.sample-cover-link{display:block;color:var(--foreground);text-decoration:none;}
.sample-cover-link img{display:block;width:100%;height:auto;border:1px solid var(--border);}
.sample-cover-link span{display:block;padding-top:1rem;font-size:.8rem;letter-spacing:.04em;}
.sample-cover-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px;}
@media(min-width:768px){.landscape-sample{grid-template-columns:1.2fr 1fr;gap:3.5rem;}}

/* Studio Alona shopping paths — 28 October 2026. */
.shop-intro{max-width:44rem;margin-top:1.25rem;line-height:1.8;color:var(--muted-foreground)}
.shop-cards{display:grid;grid-template-columns:1fr;gap:1.25rem;list-style:none;padding:0;margin-top:3rem}
.shop-card{display:flex;flex-direction:column;min-width:0;padding:2rem;background:#fff;border:1px solid var(--border)}
.shop-card-featured{background:#f4efe8;background-image:var(--cashmere-weave)}
.shop-card h3{font-family:Georgia,serif;font-size:1.8rem;line-height:1.25;margin-top:1.2rem;font-weight:400}
.shop-description{flex:1;margin-top:1.2rem;margin-bottom:1.75rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.8}
.shop-card .btn-line,.shop-card .btn-solid{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;font-size:.8125rem;white-space:normal;padding:.8rem 1rem}
.shop-detail{font-size:.75rem;line-height:1.65;margin-top:1rem;color:var(--muted-foreground)}
.shop-afterword{margin-top:2rem;font-size:.875rem;line-height:1.8;color:var(--muted-foreground)}
.shop-terms{max-width:58rem;font-size:.75rem;margin-top:.75rem}
@media(min-width:960px){.shop-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-card{padding:1.75rem}}

/* Header brand name: preserve one line on small screens. */
.site-wordmark{white-space:nowrap;flex-shrink:0;font-size:clamp(1.125rem,4.5vw,1.5rem)}

/* Approved Instagram portfolio samples — 29 October 2026. */
.portfolio-sample{display:grid;align-items:start;gap:2.5rem;margin-top:3.5rem;min-width:0}
.portfolio-sample+ .portfolio-sample{border-top:1px solid var(--border);padding-top:4rem;margin-top:4rem}
.portfolio-player{display:block;width:100%;height:auto;object-fit:contain;background:#f0e9e0;border:1px solid var(--border)}
.portfolio-player:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portfolio-sample-portrait>div:first-child{width:100%;max-width:22rem;margin:0 auto}
.sample-detail{display:grid;gap:.3rem;padding:1rem 0}.sample-detail dt{font-family:Georgia,serif;font-size:1.125rem}.sample-detail dd{font-size:.875rem;line-height:1.7;color:var(--muted-foreground)}
.sample-credit{margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);line-height:1.7}.sample-credit summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.sample-credit p{margin-top:.25rem}.sample-credit a{text-decoration:underline;text-underline-offset:3px}
.sample-ownership{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.8125rem;line-height:1.8;color:var(--muted-foreground)}
@media(min-width:640px){.sample-detail{grid-template-columns:6rem 1fr;gap:1rem}}
@media(min-width:768px){.portfolio-sample{gap:3.5rem}.portfolio-sample-landscape{grid-template-columns:1.25fr 1fr}.portfolio-sample-portrait{grid-template-columns:minmax(0,22rem) 1fr}}

/* Website package anchor clears the mobile navigation. */
#websites{scroll-margin-top:8rem}
