@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/archivo-300.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-400.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/archivo-500.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/archivo-600.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/archivo-700.woff2) format('woff2')}
:root{color-scheme:light}html,body{margin:0;background:#f4f1ec}

.ab { --paper:#f4f1ec; --stone:#e6e0d6; --ink:#1c1a17; --clay:#8c5e44; --herobg:#1f150e;
  --muted:rgba(28,26,23,0.66); --small:#1c1a17; --rule:rgba(28,26,23,0.16); --v:64px;
  font-family:'Archivo', Arial, sans-serif; font-size:16px; line-height:25px; color:var(--ink); background:var(--paper); }
.ab * { box-sizing:border-box; }
.ab p, .ab h1, .ab h2 { margin:0; font-weight:400; }
.ab a { color:inherit; }
.ab img { display:block; }
.frame { max-width:1120px; margin:0 auto; padding-left:24px; padding-right:24px; }
.col { max-width:640px; }
.pad { padding-top:var(--v); padding-bottom:var(--v); }
.hero-t { font-size:34px; line-height:38px; letter-spacing:-0.01em; }
.head { font-size:27px; line-height:32px; letter-spacing:-0.005em; }
.body { font-size:16px; line-height:25px; }
.meta { font-size:12px; line-height:18px; letter-spacing:0.02em; color:var(--small); }
.label { font-size:12px; line-height:18px; letter-spacing:0.06em; font-weight:500; text-transform:uppercase; color:var(--small); }
.muted { color:var(--muted); }
.fin { font-size:34px; line-height:38px; letter-spacing:-0.01em; }
.stack { display:flex; flex-direction:column; }
.g8{gap:8px}.g16{gap:16px}.g24{gap:24px}.g32{gap:32px}
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 32px; text-decoration:none; font-size:16px; letter-spacing:0.02em; width:100%; }
.btn.solid { background:var(--ink); color:var(--paper); }
.btn.line { border:1px solid currentColor; }
.logo { font-size:14px; line-height:16px; font-weight:700; letter-spacing:0.12em; }
.lang { font-size:13px; letter-spacing:0.02em; } .lang a { text-decoration:none; } .lang .off { color:rgba(244,241,236,0.6); }


.hero { position:relative; min-height:100vh; min-height:100svh; color:var(--paper); --herobg:#140904;
  background:linear-gradient(to bottom, rgba(20,9,4,0.55) 0, rgba(20,9,4,0) 96px) no-repeat,
             linear-gradient(to bottom, rgba(20,9,4,0) 40%, rgba(20,9,4,0.6) 62%, rgba(20,9,4,0.6) 100%) no-repeat,
             url(/assets/img/hero.jpg) 70% top / auto max(136svh, 136vh) no-repeat, var(--herobg);
  display:flex; flex-direction:column; justify-content:space-between; }
.hero .bar { display:flex; justify-content:space-between; align-items:center; height:56px; }
.hero .txt { padding-bottom:40px; }
.hero .sub { color:#e6e0d6; }


.b01 { display:grid; gap:24px; grid-template-areas:"idea" "ph" "txt" "ig"; }
.b01 .cap { grid-area:cap; margin-top:-16px; } .b01 .ig { grid-area:ig; margin-top:-8px; }
.b01 .idea { grid-area:idea; } .b01 .fig01 { grid-area:ph; margin:0; } .b01 .side { grid-area:txt; }
.ph { position:relative; overflow:hidden; background:var(--stone); }
.ph img { width:100%; height:100%; object-fit:cover; }
.p11 { aspect-ratio:1/1; }
.mapimg { aspect-ratio:2560/1200; }
.caption { position:absolute; left:16px; bottom:12px; font-size:11px; line-height:16px; letter-spacing:0.02em; color:#1c1a17; }

.rl { border-top:1px solid var(--rule); padding-top:24px; }
.b01 .k { margin-top:8px; } .b01 .u { margin-top:8px; }
.price { display:flex; flex-direction:column; gap:16px; }

.dark { background:var(--ink); color:var(--paper); --muted:rgba(244,241,236,0.62); --small:#e6e0d6; --rule:rgba(244,241,236,0.2); }
.dark .lnk { color:var(--paper); text-decoration:underline; text-underline-offset:3px; }
.qbig { font-size:22px; line-height:28px; letter-spacing:-0.005em; }
.qrest p { font-size:16px; line-height:25px; color:rgba(244,241,236,0.62); }
.qrest p:nth-child(2) { color:rgba(244,241,236,0.52); } .qrest p:nth-child(3) { color:rgba(244,241,236,0.42); }
.answer { font-size:28px; line-height:34px; letter-spacing:-0.005em; }


.mapfig { margin:0; }
.map { display:flex; flex-direction:column; gap:32px; }
.rt { width:100%; border-collapse:collapse; }
.rt th { text-align:left; font-weight:500; font-size:12px; line-height:18px; letter-spacing:0.06em; text-transform:uppercase; color:var(--small); padding:0 0 8px; }
.rt td { vertical-align:top; padding:8px 8px 8px 0; border-top:1px solid var(--rule); }
.rt .n { width:48px; font-size:20px; line-height:24px; font-weight:300; letter-spacing:-0.02em; }
.rt .r { display:block; font-size:14px; line-height:20px; font-weight:500; letter-spacing:0.04em; }
.rt .i { display:block; font-size:12px; line-height:18px; color:var(--small); }
.rt .own td { color:var(--small); font-size:13px; line-height:20px; }
.ret { display:block; margin-top:8px; font-size:11px; line-height:16px; color:var(--small); }
.foot { display:grid; grid-template-columns:max-content max-content; gap:16px 32px; font-size:12px; line-height:18px; letter-spacing:0.06em; }
.foot a { text-decoration:none; }
.strip { padding:8px 24px; font:500 11px/16px Archivo,Arial,sans-serif; letter-spacing:.1em; color:#1c1a17; text-transform:uppercase; background:#d9d4cb; }


.stone { background:var(--stone); }
.why1 { font-size:16px; line-height:25px; color:rgba(244,241,236,0.78); }
.after { font-size:16px; line-height:25px; color:rgba(244,241,236,0.62); }
.flow { font-size:12px; line-height:18px; letter-spacing:0.06em; font-weight:500; text-transform:uppercase; color:var(--clay); border-top:1px solid var(--rule); padding-top:16px; }
.steps { display:grid; grid-template-columns:1fr 1fr; }
.steps > div { border-top:1px solid var(--rule); padding:16px 16px 20px 0; }
.sn { font-size:20px; line-height:24px; font-weight:300; letter-spacing:-0.02em; }
.sn sup { font-size:11px; letter-spacing:0.04em; margin-left:2px; }
.sr { font-size:14px; line-height:20px; font-weight:500; letter-spacing:0.04em; margin-top:12px; }
.sd { font-size:14px; line-height:21px; color:var(--muted); margin-top:4px; }
.brief { aspect-ratio:4/3; border:1px dashed rgba(28,26,23,0.35); display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; font-size:13px; line-height:20px; color:var(--muted); background:rgba(255,255,255,0.35); }
.goals > div { display:flex; gap:16px; align-items:baseline; border-top:1px solid var(--rule); padding:12px 0; }
.goals > div:last-child { border-bottom:1px solid var(--rule); }
.goals .gn { font-size:12px; color:var(--clay); width:20px; flex:none; }
.faq > div { border-top:1px solid var(--rule); padding-top:20px; }

@media (min-width: 900px) {
  .ab { --v:80px; }
  .frame { padding-left:48px; padding-right:48px; }
  .hero .bar { height:72px; }
  .hero .txt { padding-bottom:80px; }
  .hero { background:linear-gradient(to right, #140904 calc(100vw - 204vh), rgba(20,9,4,0) calc(100vw - 204vh + 200px)) no-repeat, linear-gradient(to bottom, rgba(20,9,4,0.5) 0, rgba(20,9,4,0) 110px) no-repeat, linear-gradient(to right, rgba(20,9,4,0.55) 0, rgba(20,9,4,0) 55%) no-repeat, url(/assets/img/hero.jpg) right top / auto 136vh no-repeat, var(--herobg); }
  .hero-t { font-size:52px; line-height:56px; }
  .head, .qbig { font-size:36px; line-height:42px; }
  .qbig { font-size:32px; line-height:38px; }
  .body, .qrest p { font-size:17px; line-height:27px; }
  .btn { width:auto; min-width:300px; }
  br.m { display:none; }
  .b01 { grid-template-columns:5fr 6fr; grid-template-areas:"ph idea" "ph txt" "ph ig"; grid-template-rows:auto 1fr auto; gap:8px 56px; align-items:start; }
  .b01 .cap, .b01 .ig { margin-top:8px; }
  .b01 .fig01 { height:100%; aspect-ratio:auto; }
  .map .mapfig { order:2; }
  .map .two { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
  .rl { padding-top:16px; }
  .b01 .k, .b01 .u { margin-top:0; }
  .b01 .side { gap:16px; }
  .price { flex-direction:row; align-items:center; gap:24px; }
  .caption { left:24px; bottom:16px; }
  .answer { font-size:40px; line-height:46px; }
  .foot { display:flex; flex-wrap:wrap; gap:8px 24px; }
  .fin { font-size:36px; line-height:42px; letter-spacing:-0.005em; }
  .why1, .after { font-size:17px; line-height:27px; }
  .steps { grid-template-columns:repeat(5, 1fr); }
  .open { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .faq { display:grid; grid-template-columns:repeat(2, 1fr); gap:32px 56px; }
}
@media (min-width: 900px) and (max-height: 640px) {
  
  #routine .head { font-size:30px; line-height:36px; }
  #routine .body { font-size:16px; line-height:24px; }
  .b01 .side { gap:12px; } .b01 .idea { gap:4px; } #routine .rl { padding-top:12px; }
  #routine .btn { height:46px; }
}


.steps .sn sup { line-height:0; vertical-align:super; }
@media (max-width: 899px) { .open { display:flex; flex-direction:column; gap:24px; } }
@media (min-width: 900px) {
}

.brief { aspect-ratio:auto; border:0; padding:0; background:none; display:flex; flex-direction:column; gap:8px; margin:0; text-align:left; }
.brief img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; border:1px solid var(--rule); background:#fff; }
.ask { margin-top:0; }
@media (min-width: 900px) {
  .open { grid-template-rows:auto 1fr; row-gap:24px; align-items:start; }
  .open > .stack { grid-column:1; grid-row:1; }
  .open .ask { grid-column:1; grid-row:2; }
  .open .brief { grid-column:2; grid-row:1 / span 2; align-self:stretch; height:100%; }
  .open .brief img { flex:1; min-height:0; aspect-ratio:auto; height:0; }
}


.hero-t, .head, .answer, .fin, .qbig { text-wrap:balance; }
.hero .cta { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.hero .btn.light { background:var(--paper); color:var(--ink); }
.hero .more { font-size:14px; line-height:20px; letter-spacing:0.02em; color:#e6e0d6; text-decoration:underline; text-underline-offset:3px; }
.rt2 { width:100%; border-collapse:collapse; }
.rt2 td { vertical-align:top; border-top:1px solid var(--rule); padding:12px 12px 12px 0; }
.rt2 tr:last-child td { border-bottom:1px solid var(--rule); }
.rt2 .n { width:52px; font-size:20px; line-height:24px; font-weight:300; letter-spacing:-0.02em; white-space:nowrap; }
.rt2 .n sup { font-size:10px; letter-spacing:0.04em; margin-left:2px; line-height:0; vertical-align:super; }
.rt2 .r { display:block; font-size:14px; line-height:20px; font-weight:500; letter-spacing:0.04em; }
.rt2 .d { display:block; font-size:14px; line-height:21px; color:var(--muted); margin-top:2px; }
.rt2 .w { width:96px; font-size:12px; line-height:20px; letter-spacing:0.06em; text-transform:uppercase; color:var(--small); text-align:right; padding-right:0; white-space:nowrap; }
.rt2 .own td { color:var(--small); font-size:14px; line-height:20px; }
.rt2 .own td.w { font-size:12px; }
.src { border-top:1px solid var(--rule); padding-top:16px; }
@media (max-width: 899px) { .open > .ask2 { margin-top:8px; } .map .two > .src { border-top:0; padding-top:0; } }
@media (min-width: 900px) {
  .hero .cta { flex-direction:row; align-items:center; gap:24px; }
  .open { grid-template-rows:auto 1fr; row-gap:24px; }
  .open > .stack:first-child { grid-column:1; grid-row:1; }
  .open > .gl { grid-column:2; grid-row:1 / span 2; }
  .open > .ask2 { grid-column:1; grid-row:2; }
  .map .two { grid-template-rows:auto 1fr; row-gap:32px; }
  .map .two > .stack { grid-column:1; grid-row:1; }
  .map .two > .rt2 { grid-column:2; grid-row:1 / span 2; }
  .map .two > .src { grid-column:1; grid-row:2; align-self:start; }
}


.qeq p { font-size:20px; line-height:28px; letter-spacing:-0.005em; color:rgba(244,241,236,0.86); }
.goals-s > div { padding:8px 0; }
@media (min-width: 900px) {
  .qeq p { font-size:24px; line-height:32px; }
  .b01 { grid-template-areas:"ph idea" "ph txt" "ph ig"; }
  .b01 .side { gap:24px; }
}

.meta { font-size:13px; line-height:20px; text-wrap:pretty; }
.caption.vis { z-index:1; font-size:13px; line-height:18px; color:rgba(28,26,23,0.72); }
.rt2 .w, .rt2 .own td.w { font-size:13px; }
.qeq p { font-size:18px; line-height:26px; }
@media (max-width: 899px) {
  .rt2 .w { width:64px; }
  .rt2 .r { font-size:15px; line-height:21px; }
}
@media (min-width: 900px) {
  .qeq p { font-size:22px; line-height:30px; }
}

/* live site additions (10-27) */
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
#waitlist { display:none; position:fixed; inset:0; z-index:20; background:var(--paper); overflow-y:auto; -webkit-overflow-scrolling:touch; }
#waitlist.open { display:block; }
body.wl-open { overflow:hidden; }
.wl-back { background:none; border:0; padding:0; font:inherit; font-size:13px; letter-spacing:0.02em; color:inherit; cursor:pointer; }
.ab input[type=email]:focus-visible, .ab button:focus-visible, .ab a:focus-visible, .ab input[type=checkbox]:focus-visible { outline:2px solid var(--clay); outline-offset:2px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.err { color:#8c2f1b; }
.btn[disabled] { opacity:0.6; cursor:default; }
button.btn { cursor:pointer; }
/* simple pages (thanks, legal) */
.simple { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; }
.simple .bar { display:flex; justify-content:space-between; align-items:center; height:56px; }
.simple .bar a { text-decoration:none; }
.simple main { flex:1; }
.legal h1 { font-size:27px; line-height:32px; letter-spacing:-0.005em; font-weight:400; margin:0; }
.legal h2 { font-size:12px; line-height:18px; letter-spacing:0.06em; font-weight:500; text-transform:uppercase; margin:0; }
.legal p, .legal li { font-size:15px; line-height:24px; margin:0; }
.legal ul { margin:0; padding-left:20px; }
.legal a { color:var(--clay); }
.legal section { border-top:1px solid var(--rule); padding-top:20px; display:flex; flex-direction:column; gap:10px; }
.todo { background:#ffe58a; color:#1c1a17; padding:0 4px; }
@media (min-width: 900px) { .simple .bar { height:72px; } .legal h1 { font-size:36px; line-height:42px; } }
