/* Within uses the studio's shared shell. These styles are confined to its page. */
.within-page { --paper:#f7f5ef; --ink:#28352f; --muted:#58655e; --line:#d6dcd2; --within-sage:#e2e8df; --within-rose:#eee0da; --within-lilac:#e7e5ee; --within-serif:Georgia,'Times New Roman',serif; }
.within-page .site-header { background:var(--paper); }
.within-shell { width:min(1200px,calc(100% - 8vw)); margin-inline:auto; }
.within-page main { overflow:clip; }
.within-page h1,.within-page h2 { font-weight:400; letter-spacing:-.045em; text-wrap:balance; }
.within-page h2 { font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.07; }
.within-page p { text-wrap:pretty; }
.within-eyebrow { color:var(--muted); font-size:.7rem; font-weight:600; letter-spacing:.14em; line-height:1.6; text-transform:uppercase; }
.within-eyebrow span { margin-inline:.5rem; color:#929d94; }
.within-page [id] { scroll-margin-top:7.5rem; }
.within-hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; min-height:690px; padding-block:76px 80px; gap:2rem; }
.within-hero h1 { font-size:clamp(3.2rem,6.8vw,6.1rem); line-height:1.02; margin-block:1.6rem; }
.within-hero h1 em { display:block; font-family:var(--within-serif); font-weight:400; color:#586a5d; }
.within-lead { max-width:31rem; font-size:1.12rem; line-height:1.75; color:var(--muted); }
.within-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem 2rem; margin-top:2rem; }
.within-button { display:inline-flex; gap:1.5rem; align-items:center; justify-content:space-between; padding:1rem 1.4rem; min-height:3.25rem; background:#354c3e; color:#fff; border:1px solid #354c3e; border-radius:3px; font-size:.9rem; font-weight:600; transition:background .2s,transform .2s; }
.within-button:hover { background:#273b30; transform:translateY(-2px); }
.within-text-link { display:inline-flex; align-items:center; gap:1rem; min-height:2.75rem; font-size:.9rem; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.within-text-link:hover { text-decoration-thickness:2px; }
.within-availability { display:flex; gap:.6rem; align-items:flex-start; margin-top:1.7rem; color:var(--muted); font-size:.78rem; line-height:1.7; }
.within-dot { background:#647c65; width:6px; height:6px; border-radius:50%; flex:none; margin-top:.5rem; }
.within-hero-art { position:relative; isolation:isolate; height:530px; }
.within-orbit { width:100%; height:100%; object-fit:contain; }
.within-prompt { width:57%; max-width:300px; height:340px; border:1px solid #d5d7cc; border-radius:8px; position:absolute; top:85px; left:22%; background:#faf9f4; box-shadow:0 25px 70px -30px #3d4b3440; padding:2rem; }
.within-prompt-back { background:#e2e8dd; transform:translate(32px,-25px) rotate(10deg); color:#7e8c78; display:flex; flex-direction:column; justify-content:space-between; font-size:.65rem; letter-spacing:.1em; }
.within-small-mark { text-align:right; font-size:2rem; font-family:var(--within-serif); }
.within-prompt-front { display:flex; flex-direction:column; justify-content:space-between; transform:rotate(-7deg); }
.within-prompt-label { font-size:.63rem; text-transform:uppercase; letter-spacing:.17em; color:var(--muted); }
.within-prompt p { font-family:var(--within-serif); font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.25; letter-spacing:-.025em; }
.within-prompt-foot { font-size:.62rem; color:var(--muted); display:flex; align-items:center; justify-content:space-between; }
.within-prompt-foot i { width:30px; height:30px; border:1px solid #899781; border-radius:50%; position:relative; }
.within-prompt-foot i::after { content:''; position:absolute; inset:7px; border:1px solid #899781; border-radius:50%; }
.within-art-caption { position:absolute; bottom:8px; left:0; width:100%; color:var(--muted); font-size:.65rem; text-align:center; letter-spacing:.025em; }
.within-about { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:3.5rem; display:grid; grid-template-columns:.55fr 1.65fr .75fr; gap:3rem; align-items:start; }
.within-about h2 { font-size:clamp(1.65rem,2.6vw,2.6rem); max-width:36rem; }
.within-about div p { margin-top:1.2rem; color:var(--muted); font-size:1rem; line-height:1.8; }
.within-about-aside { border-left:1px solid var(--line); padding-left:1.4rem; color:var(--muted); font-family:var(--within-serif); font-style:italic; font-size:1.25rem; line-height:1.6; }
.within-feature { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,7vw,7rem); align-items:center; padding-block:6.5rem; }
.within-reset-art { position:relative; min-height:570px; background:#ebece2; border-radius:48% 48% 6px 6px; overflow:hidden; }
.within-reset-art>img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; opacity:.65; }
.within-journal { position:absolute; inset:15% 13% 13%; display:flex; flex-direction:column; padding:2.6rem 2.2rem; background:#fbfaf5; border:1px solid #dcdacf; border-radius:4px; box-shadow:-12px 12px 0 -3px #e1dece,0 25px 60px -25px #43534150; transform:rotate(-5deg); }
.within-journal::before { content:''; position:absolute; left:12px; top:0; bottom:0; border-left:1px solid #e5e2d9; }
.within-journal-name { font-family:var(--within-serif); font-size:1.35rem; }
.within-journal-day { margin-top:2.4rem; color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; }
.within-journal p { margin-top:.8rem; font-family:var(--within-serif); font-size:1.6rem; letter-spacing:-.025em; line-height:1.3; }
.within-journal-lines { display:grid; gap:1.4rem; margin-top:1.5rem; }
.within-journal-lines i { display:block; border-bottom:1px solid #dcded3; }
.within-journal-foot { margin-top:auto; padding-top:1rem; color:var(--muted); font-size:.65rem; }
.within-badge { display:inline-block; margin-top:1.2rem; padding:.35rem .7rem; border:1px solid #b8c2b3; border-radius:30px; font-size:.7rem; color:#435c46; background:#f0f4eb; }
.within-feature h2 { margin-top:1.1rem; font-size:clamp(3.5rem,5.5vw,5.5rem); }
.within-feature-tagline { font-family:var(--within-serif); font-style:italic; font-size:1.55rem; margin-block:1rem 1.5rem; line-height:1.4; }
.within-feature-copy>p:not(.within-eyebrow,.within-feature-tagline) { color:var(--muted); line-height:1.8; }
.within-feature-points { display:grid; gap:.8rem; margin-block:1.5rem; }
.within-feature-points li { display:flex; gap:.8rem; align-items:baseline; font-size:.95rem; }
.within-feature-points span { color:#667b62; }
.within-note { color:var(--muted); font-size:.8rem; line-height:1.7; }
.within-feature-copy .within-text-link { margin-top:1rem; }
.within-collection { padding-block:1rem 6rem; }
.within-section-heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.within-section-heading h2 { margin-top:1rem; }
.within-section-heading>p { max-width:27rem; color:var(--muted); font-size:.95rem; line-height:1.8; justify-self:end; }
.within-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.within-product { border:1px solid var(--line); border-radius:5px; padding:1.75rem; min-height:290px; display:flex; flex-direction:column; background:#fdfbf7; transition:transform .2s,border-color .2s; }
.within-product:hover { transform:translateY(-3px); border-color:#9caa99; }
.within-product-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#4d6552; }
.within-product-status { font-size:.63rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.within-product h3 { margin-block:2rem .7rem; font-family:var(--within-serif); font-size:1.6rem; letter-spacing:-.025em; line-height:1.2; }
.within-product p { color:var(--muted); font-size:.88rem; line-height:1.8; }
.within-product .within-text-link { margin-top:1rem; align-self:start; font-size:.8rem; }
.within-product-life-reset { background:#e8ede2; }
.within-product-the-card { background:#f3e9e3; }
.within-product-future-me { background:#eeecf3; }
.within-product-decision { background:#edf0ed; }
.within-product-break-the-matrix { background:#eee9e0; }
.within-ritual { background:#e8ece3; padding-block:5.5rem; }
.within-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; margin-top:3.5rem; }
.within-steps li { border-top:1px solid #bfcabb; padding-top:1.25rem; }
.within-step-index { font-family:var(--within-serif); font-style:italic; color:#52694f; font-size:1.2rem; }
.within-steps h3 { margin-block:1.5rem .75rem; font-size:1.25rem; }
.within-steps p { color:var(--muted); font-size:.9rem; line-height:1.8; }
.within-values { display:grid; grid-template-columns:1fr 1.1fr; gap:6rem; padding-block:6rem; }
.within-values h2,.within-faq h2 { margin-top:1rem; }
.within-value-list article { padding-block:1.2rem; border-bottom:1px solid var(--line); }
.within-value-list article:first-child { padding-top:0; }
.within-value-list h3 { font-size:1.05rem; margin-bottom:.45rem; }
.within-value-list p { color:var(--muted); font-size:.93rem; line-height:1.8; }
.within-faq { display:grid; grid-template-columns:1fr 1.1fr; gap:6rem; padding-block:0 5.5rem; }
.within-faq details { border-bottom:1px solid var(--line); }
.within-faq summary { list-style:none; cursor:pointer; min-height:3rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; padding-block:1.2rem; font-size:.95rem; font-weight:600; }
.within-faq summary::-webkit-details-marker { display:none; }
.within-faq summary span { font-size:1.25rem; font-weight:400; flex:none; }
.within-faq details[open] summary span { transform:rotate(45deg); }
.within-faq details p { padding-bottom:1.5rem; color:var(--muted); line-height:1.8; font-size:.9rem; }
.within-close { border-top:1px solid var(--line); padding-block:4.5rem 5rem; text-align:center; }
.within-close h2 { font-family:var(--within-serif); font-style:italic; font-size:clamp(2.8rem,5.5vw,5rem); margin-block:1.3rem; }
.within-close>p:not(.within-eyebrow) { max-width:38rem; margin-inline:auto; color:var(--muted); line-height:1.8; }
.within-close .within-actions { justify-content:center; margin-block:2rem 1.5rem; }
.within-page .site-footer { --ink:#28352f; background:var(--ink); }
.within-studio-teaser { background:#e6e9df; border-top:1px solid var(--line); }
.within-studio-teaser .studio-grid { grid-template-columns:1fr 1fr; margin-top:1.5rem; }
.within-studio-teaser .text-link { margin-top:1.5rem; }
@media(min-width:901px) { .site-header .section-nav { gap:clamp(.7rem,1.7vw,1.5rem); } }
@media(max-width:1000px) {
  .within-hero { padding-block:4rem; min-height:600px; }
  .within-hero-art { height:450px; }
  .within-prompt { width:62%; height:290px; top:80px; left:19%; padding:1.5rem; }
  .within-about { grid-template-columns:1fr 2fr; gap:2rem; }
  .within-about-aside { grid-column:2; }
  .within-reset-art { min-height:490px; }
  .within-journal { padding:2rem 1.7rem; }
  .within-journal-day { margin-top:1.6rem; }
  .within-journal p { font-size:1.35rem; }
  .within-values,.within-faq { gap:3rem; }
}
@media(max-width:720px) {
  .within-shell { width:calc(100% - 10vw); }
  .within-page [id] { scroll-margin-top:9rem; }
  .within-hero { grid-template-columns:1fr; padding-block:3rem 1.5rem; gap:0; min-height:0; }
  .within-hero h1 { font-size:clamp(3.4rem,12vw,5rem); margin-block:1.4rem; }
  .within-lead { font-size:1rem; }
  .within-hero-art { height:440px; max-width:470px; width:100%; justify-self:center; }
  .within-prompt { max-width:none; width:55%; height:285px; top:75px; left:23%; }
  .within-prompt p { font-size:1.65rem; }
  .within-about { grid-template-columns:1fr; padding-block:2.5rem; gap:1.2rem; }
  .within-about-aside { grid-column:1; }
  .within-feature { grid-template-columns:1fr; padding-block:3.5rem; gap:2.5rem; }
  .within-reset-art { min-height:500px; max-width:470px; width:100%; justify-self:center; }
  .within-journal { padding:2.3rem; }
  .within-journal p { font-size:1.6rem; }
  .within-section-heading { grid-template-columns:1fr; gap:1.2rem; }
  .within-section-heading>p { max-width:none; justify-self:start; }
  .within-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .within-product { padding:1.25rem; min-height:300px; }
  .within-product-top { align-items:start; flex-direction:column; gap:.75rem; }
  .within-product h3 { margin-top:1.25rem; }
  .within-collection { padding-bottom:3.5rem; }
  .within-ritual { padding-block:3.5rem; }
  .within-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.5rem; margin-top:2.5rem; }
  .within-values,.within-faq { grid-template-columns:1fr; gap:2.5rem; padding-block:3.5rem; }
  .within-faq { padding-top:0; }
  .within-close { padding-block:3.5rem; }
  .within-studio-teaser .studio-grid { grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:390px) {
  .within-hero h1 { font-size:3.05rem; }
  .within-hero-art { height:380px; }
  .within-prompt { height:250px; top:65px; padding:1.25rem; width:59%; left:20%; }
  .within-prompt p { font-size:1.4rem; }
  .within-reset-art { min-height:425px; }
  .within-journal { inset:12% 10% 12%; padding:1.75rem; }
  .within-journal p { font-size:1.35rem; }
  .within-products { grid-template-columns:1fr; }
  .within-product { min-height:0; padding:1.5rem; }
  .within-product-top { flex-direction:row; align-items:center; }
  .within-actions { gap:1rem 1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .within-button:hover,.within-product:hover { transform:none; } }
