/* North of Atlas shell and theme.
   Two files are concatenated here in the order the cascade expects: the base
   shell first, then the editorial theme that overrides it. The board app's own
   stylesheet is board-1.css and is loaded only by the home page, which is the
   only page carrying the board.

   Type is self-hosted and latin-subset. Archivo is one variable face with a
   width axis, so the condensed uppercase display and the body text come out of
   the same family: the display face is simply the same font set narrow and
   heavy. Nothing is fetched from another domain to render a page. */

@font-face {
  font-family: 'Archivo';
  font-style: normal; font-weight: 400 800; font-stretch: 75% 125%;
  font-display: swap;
  src: url('/fonts/archivo-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: italic; font-weight: 400 800; font-stretch: 75% 125%;
  font-display: swap;
  src: url('/fonts/archivo-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal; font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-display: 'Archivo', 'Arial Narrow', Arial, sans-serif;
  --font-sans: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

:root{--ink:#fff;--ink-2:#f1f4f8;--panel:#fff;--panel-2:#eef2f8;--text:#152846;--muted:#566477;--border:#d9e0e9;--gold:#2856d8;--gold-text:#244fc4;--gold-soft:#b9c9f4;--night:#152846;--night-2:#223b60;--measure:1240px;--blue:#2856d8;--grain:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--text);background:#fff;font:16px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-sans);font-weight:500;letter-spacing:-.045em;line-height:1.08}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #2856d8;outline-offset:4px}::selection{background:#c3d2ff;color:#152846}.container{width:min(1240px,calc(100% - 80px));margin:auto}.site-nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--border)}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:16px;font-weight:700;line-height:1.15;letter-spacing:.03em}.wordmark img{width:36px;height:36px}.navlinks{display:flex;align-items:center;gap:27px}.navlinks a{font-size:14px;text-decoration:none;white-space:nowrap}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--blue)}.navlinks .nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:5px;padding:12px 22px;font-size:14px;text-decoration:none;line-height:1.4}.navlinks .nav-cta:hover{color:#fff;background:#173d9f}.button.outline{background:transparent;color:var(--text);border-color:var(--border)}.nav-toggle-new{display:none;background:none;border:1px solid var(--border);padding:8px 12px;border-radius:4px}.overline{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.mast{padding:46px 0 38px;display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}.mast h1{font-size:clamp(42px,4.5vw,66px);margin:0}.mast h1 em,.page-intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.mast p{font-size:17px;color:var(--muted);max-width:410px;margin-bottom:16px}.trust{font-size:12px;letter-spacing:.06em;color:var(--muted)}.app-shell{padding:30px 0 45px;background:#f2f5f9;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.wrap{max-width:1320px;padding:0 40px}.app-shell .label{font-size:12px;color:var(--blue);letter-spacing:.14em}.app-shell #board-title{font-family:Arial,sans-serif;font-size:28px;font-weight:500;letter-spacing:-.04em}.toolbar{margin-top:22px}.tool,.sit-btn{font-size:14px;border-radius:5px;min-height:43px}.sit-btn{background:var(--blue);color:#fff}.board-head-row{margin-bottom:0}.empty{padding:0!important;text-align:left!important;border:0;background:transparent;max-width:none;margin:0}.empty-showcase{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:18px;margin-top:22px}.empty-start{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:25px;border:1px dashed #a8b6ce;border-radius:8px}.empty-start .plus-sign{font-size:30px;color:var(--blue);line-height:1;margin-bottom:14px}.empty-start h2{font-size:25px!important;margin-bottom:12px;line-height:1.15}.empty-start p{font-size:14px!important;line-height:1.5;max-width:260px;margin:0 0 15px}.empty-start button{font-size:14px;border-radius:4px;padding:10px 14px}.empty-start .btn-quiet{padding:10px 0 0;background:none;border:0}.sample-card{border-radius:7px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #15284607;display:flex;flex-direction:column}.sample-card img{width:100%;height:190px;object-fit:cover}.sample-card .caption{padding:16px;font-size:16px;line-height:1.35;letter-spacing:-.02em}.sample-card small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.sample-card.words{background:#203e76;color:#fff;justify-content:space-between;padding:25px}.sample-card.words p{font-family:Georgia,serif;font-size:29px;line-height:1.2;color:#fff;margin:20px 0}.sample-card.words small{color:#c4d4f2}.sample-card.words .caption{padding:0;font-size:12px;color:#c4d4f2}.sample-label{font-size:12px;color:var(--muted);text-align:right;margin:13px 0 0}.grid{gap:20px}.tile{border-radius:7px;box-shadow:0 3px 12px #14284608}.tile-text{background:#e6ecfa!important}.tile-line{font-family:Georgia,serif}.add-tile{border-radius:7px}.stats{font-size:13px}.stat-chip{font-size:12px}.board-note{font-size:12px;margin:18px 0 0;color:#566477}.section-new{padding:85px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-top h2{font-size:42px;margin:0;max-width:600px}.text-link{font-size:14px;text-underline-offset:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.step{border-top:1px solid #aab9d1;padding-top:19px}.step span{color:var(--blue);font-size:13px}.step h3{font-size:25px;margin:18px 0 13px}.step p{color:var(--muted);font-size:16px}.ritual-new{background:#152846;color:#fff;padding:55px 65px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:50px;border-radius:8px}.ritual-number{font:75px/1 Georgia,serif;color:#c3d3fc;border:1px solid #8298bb;border-radius:50%;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.ritual-number small{font:16px Arial}.ritual-new h2{font-size:40px;margin-bottom:15px}.ritual-new p{color:#c5d1e3;max-width:500px;margin:0}.ritual-new .button{background:#fff;color:#152846;border-color:#fff}.guide-strip{display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:50px;border-top:1px solid var(--border);padding-top:40px}.guide-strip img{width:145px;box-shadow:5px 6px 0 #d7dfec}.guide-strip h2{font-size:40px;margin:0 0 15px}.guide-strip p{color:var(--muted);max-width:620px}.faq-new{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.faq-new h2{font-size:42px}.accordion details{border-top:1px solid var(--border);padding:19px 0}.accordion summary{cursor:pointer;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}.accordion summary::after{content:'+';font-size:24px;color:var(--blue);line-height:1}.accordion details[open] summary::after{content:'−'}.accordion details p{color:var(--muted);padding-top:15px;margin-bottom:0}.page-intro{padding:75px 0 60px;border-bottom:1px solid var(--border)}.page-intro h1{font-size:clamp(43px,5.4vw,74px);max-width:930px;margin-bottom:26px}.page-intro .deck{font-size:20px;color:var(--muted);max-width:750px;line-height:1.6;margin-bottom:22px}.meta{font-size:13px;color:var(--muted);letter-spacing:.02em}.reading-layout{display:grid;grid-template-columns:250px minmax(0,750px);gap:85px;padding:65px 0 85px}.contents{align-self:start;position:sticky;top:30px}.contents p{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.contents a{display:block;padding:9px 0;font-size:14px;text-decoration:none;line-height:1.4}.contents a:hover{color:var(--blue)}.article-copy h2{font-size:32px;margin:46px 0 22px}.article-copy section:first-child h2{margin-top:0}.article-copy p,.article-copy li{font-size:18px;line-height:1.8;color:#394c65}.article-copy li{margin-bottom:8px}.article-copy a{color:var(--blue);text-underline-offset:4px}.article-copy blockquote{margin:32px 0;padding:22px 30px;border-left:3px solid var(--blue);background:#f1f5fc;font:27px/1.45 Georgia,serif}.article-copy .callout{background:#f1f5fc;padding:25px 30px;border-radius:5px;margin:26px 0}.callout p:last-child{margin:0}.article-end{border-top:1px solid var(--border);padding-top:35px;margin-top:45px}.article-end h3{font-size:27px}.article-end .button{color:#fff}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.idea-card{border:1px solid var(--border);padding:32px;border-radius:7px}.idea-card .overline{margin-bottom:16px}.idea-card h2{font-size:30px;margin-bottom:20px}.idea-card h3{font-size:15px;letter-spacing:0;font-weight:bold;margin:24px 0 10px}.idea-card p{color:var(--muted)}.idea-card blockquote{font:22px/1.4 Georgia,serif;margin:15px 0;color:var(--blue)}.journal-list>a{display:grid;grid-template-columns:170px 1fr 48px;gap:45px;padding:38px 0;border-top:1px solid var(--border);text-decoration:none}.journal-list h2{font-size:36px;max-width:730px;margin:0 0 16px}.journal-list p{max-width:700px;color:var(--muted);margin:0}.journal-list>a:hover h2{color:var(--blue)}.journal-list .arrow{font-size:30px;color:var(--blue)}.journal-list .meta{padding-top:7px}.guide-hero{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding:70px 0}.guide-hero h1{font-size:80px;max-width:550px}.guide-hero .deck{font-size:20px;color:var(--muted)}.guide-art{background:#e9eef8;display:flex;justify-content:center;align-items:center;padding:50px;border-radius:8px}.guide-art img{width:min(100%,305px);height:auto;box-shadow:12px 14px 0 #ccd6e8;transform:rotate(-3deg)}.price{font-size:32px;margin:26px 0 20px;letter-spacing:-.03em}.price small{font-size:14px;color:var(--muted);letter-spacing:0}.actions{display:flex;gap:12px;flex-wrap:wrap}.spec-row{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--border);padding:25px 0;text-align:center;font-size:14px;color:var(--muted)}.spec-row b{display:block;font-size:28px;color:var(--text);font-weight:500}.preview-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.preview-pages img{width:100%;height:auto;border:1px solid var(--border)}.preview-pages figcaption{font-size:14px;color:var(--muted);margin-top:15px}.preview-pages figure{margin:0}.site-footer{margin-top:45px;background:#132440;color:#fff;padding:55px 0 24px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px;padding-bottom:50px}.footer-top h2{font-size:36px;max-width:420px;margin-bottom:18px}.footer-top p{font-size:14px;color:#b9c9e0;max-width:330px}.footer-top nav a{display:block;font-size:14px;color:#d4dfef;margin:8px 0;text-decoration:none}.footer-bottom{border-top:1px solid #385071;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#b9c9e0;font-size:12px}.footer-bottom a{color:inherit}.review-notice{font-size:12px;padding:8px 20px;text-align:center;background:#edf2ff;color:#254fab}.skip-new{position:absolute;left:-9999px}.skip-new:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px}.page-table{width:100%;border-collapse:collapse;font-size:16px}.page-table th,.page-table td{text-align:left;border-bottom:1px solid var(--border);padding:16px;vertical-align:top}.page-table a{color:var(--blue)}.breathe-ring{border-color:#b9c9f4}.overlay .sit-line{font-family:Georgia,serif}.form-tile label{font-size:14px}.form-tile input,.form-tile textarea,.form-tile select{font-size:16px}.form-tile{border-radius:7px}@media(max-width:1000px){.container{width:calc(100% - 48px)}.navlinks{gap:16px}.mast{gap:30px}.empty-showcase{grid-template-columns:1.15fr 1fr 1fr}.sample-card.words{display:none}.reading-layout{gap:40px;grid-template-columns:190px minmax(0,1fr)}.ritual-new{padding:35px;grid-template-columns:100px 1fr;gap:30px}.ritual-number{width:100px;height:100px;font-size:55px}.ritual-new .button{grid-column:2;justify-self:start}.guide-hero{gap:45px}.guide-hero h1{font-size:60px}.guide-strip{gap:30px}.navlinks a{font-size:13px}}@media(max-width:720px){.container{width:calc(100% - 36px)}.wrap{padding:0 18px}.site-nav{height:74px;position:relative}.nav-toggle-new{display:block}.navlinks{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 25px #15284615;z-index:100;border:1px solid var(--border)}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navlinks a{font-size:16px;padding:12px}.wordmark{font-size:14px}.mast{padding:30px 0;grid-template-columns:1fr;gap:20px}.mast h1{font-size:44px}.mast p{font-size:16px;margin-bottom:8px}.overline{margin-bottom:15px}.app-shell{padding-top:24px}.app-shell #board-title{font-size:24px}.toolbar{flex-wrap:wrap}.empty-showcase{grid-template-columns:1fr 1fr;gap:12px}.empty-start{grid-column:1/-1;min-height:170px}.empty-start p{max-width:none}.sample-card img{height:155px}.sample-card .caption{font-size:15px;padding:13px}.section-new{padding:50px 0}.section-top{display:block}.section-top h2{font-size:34px;margin-bottom:18px}.steps{grid-template-columns:1fr;gap:25px}.step h3{margin-top:10px}.ritual-new{grid-template-columns:1fr;padding:28px;gap:24px}.ritual-new .button{grid-column:auto}.ritual-new h2{font-size:34px}.ritual-number{width:80px;height:80px;font-size:43px}.guide-strip{grid-template-columns:85px 1fr;gap:24px}.guide-strip img{width:85px}.guide-strip h2{font-size:30px}.guide-strip>.button{grid-column:1/-1;justify-self:start}.faq-new{grid-template-columns:1fr;gap:15px}.faq-new h2{font-size:34px}.page-intro{padding:44px 0 32px}.page-intro h1{font-size:43px}.page-intro .deck{font-size:18px}.reading-layout{grid-template-columns:1fr;gap:35px;padding:30px 0 40px}.contents{position:static;border-bottom:1px solid var(--border);padding-bottom:20px}.article-copy h2{font-size:29px}.article-copy p,.article-copy li{font-size:17px}.category-grid{grid-template-columns:1fr}.journal-list>a{grid-template-columns:1fr 30px;gap:15px}.journal-list .meta{grid-column:1/-1}.journal-list h2{font-size:29px}.guide-hero{grid-template-columns:1fr;gap:40px;padding:40px 0}.guide-hero h1{font-size:65px}.guide-art{padding:35px}.guide-art img{max-width:230px}.spec-row{grid-template-columns:1fr 1fr;gap:20px}.preview-pages{grid-template-columns:1fr;max-width:400px;margin:auto}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-table{font-size:14px}.page-table td,.page-table th{padding:10px}.review-notice{font-size:12px}.tool-group{flex-wrap:wrap}.board-note{line-height:1.5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.site-nav,.mast,.site-footer,.review-notice,.section-new,.ritual-new{display:none!important}}


:root{--ink:#f7f4ed;--ink-2:#f0ebe0;--panel:#fffdf8;--panel-2:#f3eee3;--text:#17253c;--muted:#525d6a;--border:#e2dccc;--gold:#9a7638;--gold-text:#77561D;--gold-soft:#c9a961;--blue:#77561D;--rose:#a0563d;--green:#4e7351;--night:#16233a;--night-2:#1e2e49;--measure:1440px;--accent:#9a7638}
body{background:var(--ink);font-family:var(--font-sans)}.container{width:min(1440px,calc(100% - 72px))}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;text-transform:uppercase;line-height:.98}h3{letter-spacing:-.035em;font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline-color:#77561D}::selection{background:#d5bf98;color:#17253c}.review-notice{background:#16233a;color:#e9e6db;padding:5px 18px;font-size:12px}.review-notice a{color:#dcc69d}.site-nav{height:88px;border:0;gap:20px}.wordmark{font-family:var(--font-display);font-size:31px;letter-spacing:-.03em;line-height:1}.wordmark>span{display:flex;align-items:center;gap:5px}.brand-middle{font:11px/1 Arial,sans-serif;writing-mode:vertical-rl;transform:rotate(180deg)}.brand-star{font:38px/1 Georgia,serif;margin-left:7px;color:#9a7638}.navlinks{gap:25px}.navlinks a{font-size:14px}.button,.navlinks .nav-cta{border-radius:0;background:#17253c;color:#fffdf8;border-color:#17253c;font-size:14px;padding:15px 23px;min-height:49px;transition:background .18s,transform .18s}.button:hover,.navlinks .nav-cta:hover{background:#77561D;color:#fff;transform:translateY(-2px)}.button.outline{color:var(--text);border-color:#68675f;background:transparent}.overline{color:#77561D;font-size:12px;letter-spacing:.12em;margin-bottom:16px}.hero-editorial{position:relative;margin:0 18px;isolation:isolate;background:#16233a;min-height:650px;overflow:hidden;color:#fffdf8;padding:25px 38px 32px}.hero-landscape,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-landscape{object-position:center 50%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(19,24,20,.66),rgba(19,24,20,.14)),linear-gradient(0deg,rgba(12,18,14,.7),transparent 50%)}.hero-topline{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.12em;border-bottom:1px solid #ffffff45;padding-bottom:16px}.hero-editorial h1{font-size:clamp(82px,9.4vw,150px);line-height:.87;letter-spacing:-.025em;margin:35px 0 36px;position:relative;z-index:2;max-width:65%}.hero-editorial h1>span{color:#e0c89a}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;position:relative;z-index:3}.hero-bottom p{font-size:16px;line-height:1.45;margin:0 0 18px;color:#fff}.hero-bottom .button{background:var(--accent);color:#17253c;border-color:var(--accent);min-width:210px}.hero-note{display:flex;gap:30px;color:#fffdf8;align-items:center;text-decoration:none;line-height:1.35;font-size:14px;border-top:1px solid #ffffff80;padding-top:15px}.hero-note-arrow{font-size:32px}.ticker{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:15px 28px;background:#9a7638;color:#17253c;margin:0 18px;font-size:12px;letter-spacing:.1em;font-weight:600}.ticker b{font-size:23px;line-height:1}.hero-collage{position:absolute;right:4%;top:80px;width:36%;height:410px;z-index:1}.pin-photo{position:absolute;background:#fffdf8;padding:9px 9px 30px;box-shadow:0 12px 28px #0005;color:#17253c;margin:0}.pin-photo img{width:100%;height:100%;object-fit:cover;display:block}.pin-photo figcaption{font:italic 17px/1.2 Georgia,serif;padding-top:6px;text-align:center}.pin-photo:before{content:'';position:absolute;width:65px;height:22px;background:#ece4cacc;top:-9px;left:38%;transform:rotate(-5deg);z-index:1}.pin-home{width:65%;height:225px;right:6%;top:5px;transform:rotate(8deg)}.pin-morning{width:56%;height:185px;left:0;top:174px;transform:rotate(-9deg)}.pin-note{position:absolute;right:0;bottom:3px;transform:rotate(5deg);width:47%;background:#ead7af;padding:22px 18px;color:#17253c;font:italic 26px/1.15 Georgia,serif;box-shadow:0 8px 18px #0003}.pin-note small{font:11px Arial,sans-serif;display:block;margin-top:17px;text-transform:uppercase;letter-spacing:.12em}
.app-shell{background:#f0ebe0;border:0;padding:34px 0 32px;scroll-margin-top:15px}.wrap{max-width:1512px;padding:0 36px}.app-shell .label{font:12px Arial,sans-serif;color:#77561D}.app-shell #board-title{font:700 38px/1 var(--font-display);text-transform:uppercase}.toolbar{margin:18px 0}.tool,.sit-btn{border-radius:2px}.sit-btn{background:#16233a}.tool-primary,.btn-primary{background:#9a7638!important;color:#17253c!important;border-color:#9a7638!important}.tab.active{background:#16233a;color:#fffdf8;border-color:#16233a}.empty-showcase{grid-template-columns:1.15fr 1fr .88fr 1fr;gap:25px;align-items:center;margin:22px 5px 0}.empty-start{padding:22px 15px;border:0;border-radius:0}.empty-start .plus-sign{display:none}.empty-start h2{font:700 35px/1 var(--font-display)!important;text-transform:uppercase}.empty-start p{font-size:16px!important;color:#525d6a}.empty-start button{min-height:44px;border-radius:0}.sample-card{padding:9px 9px 0;border-radius:0;box-shadow:0 5px 10px #302c201a;transform:rotate(-3deg);border:1px solid #d8d3c9}.sample-card:last-child{transform:rotate(3deg)}.sample-card img{height:210px}.sample-card .caption{padding:12px 6px 17px;font:italic 20px/1.3 Georgia,serif}.sample-card small{font:12px Arial,sans-serif;color:#525d6a;letter-spacing:.1em}.sample-card.words{display:flex;background:#e9dab9;color:#17253c;transform:rotate(3deg);padding:24px;min-height:240px;border:none}.sample-card.words p{color:#17253c;font:italic 31px/1.2 Georgia,serif;margin:12px 0 18px}.sample-card.words small,.sample-card.words .caption{color:#6c5c3d}.sample-label{color:#525d6a;margin-top:22px}.board-note{color:#525d6a}.tile{border:0;border-radius:0;padding:9px 9px 0;box-shadow:0 5px 12px #39302315}.tile-body{border-left:0;min-height:95px;padding:14px 7px}.tile-line{font:italic 20px/1.3 Georgia,serif}.tile-cat{font:12px Arial,sans-serif;color:#77561D}.tile-img-wrap{aspect-ratio:1.13}.tile-text{background:#e9dab9!important;min-height:300px}.add-tile{border-radius:0;border-color:#9b9689}.tile-text .tile-text-inner{background:transparent}.grid{gap:24px}.board-head-row .stat-chip{background:#f9f7ef;color:#525d6a}.form-tile,.modal{border-radius:3px}.breathe-ring{border-color:#c9a961}.section-new{padding:55px 0}.section-top{margin-bottom:27px}.section-top h2,.faq-new h2{font-size:clamp(38px,4.6vw,64px)}.process-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:stretch}.process-photo{position:relative;min-height:530px;overflow:hidden}.process-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.process-photo>span{position:absolute;bottom:24px;left:24px;right:24px;color:#fff;font:700 60px/.95 var(--font-display);text-shadow:0 1px 10px #0006}.process-content h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:25px}.process-content .steps{display:block}.process-content .step{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:18px 0;border-color:#b9b5aa}.process-content .step h3{margin:0 0 7px;font-size:24px}.process-content .step p{margin:0}.process-content .step span{color:#77561D;font-size:13px}.process-content>.text-link{display:inline-block;margin-top:18px}.steps{gap:28px}.step{border-color:#bcb6aa}.step span{color:#77561D}.step h3{font-size:26px}.ritual-new{border-radius:0;background:#16233a;color:#fffdf8;padding:42px 44px;grid-template-columns:190px 1fr auto;gap:35px}.ritual-number{border:0;border-radius:0;font:700 145px/.9 var(--font-display);color:#d6bc8b;width:auto;height:auto}.ritual-number small{font-size:24px;align-self:flex-end;margin-bottom:13px}.ritual-new h2{font-size:clamp(35px,4vw,57px)}.ritual-new p{color:#c7ccd5}.ritual-new .button{color:#17253c;background:#f7f4ed;border-color:#f7f4ed}.guide-strip{border:0;background:#eee5d4;padding:35px;grid-template-columns:130px 1fr auto;gap:40px}.guide-strip img{width:120px;transform:rotate(-6deg);box-shadow:8px 10px 0 #bcb0a2}.guide-strip h2{font-size:60px}.faq-new{gap:65px;grid-template-columns:.8fr 1.2fr}.accordion details{border-color:#bfb9ac;padding:18px 0}.accordion summary{font-size:17px}.accordion summary:after{color:#77561D}.page-intro{position:relative;margin:0 18px;background:#16233a;color:#fffdf8;padding:40px 0;overflow:hidden;border:0}.page-intro>.container{position:relative;z-index:1;min-height:240px;display:flex;flex-direction:column;justify-content:center}.page-intro h1{font-size:clamp(54px,6.5vw,94px);max-width:78%;margin-bottom:22px}.page-intro .overline{color:#d6bc8b}.page-intro .deck{color:#e0e2e7;max-width:700px;font-size:18px;line-height:1.5}.page-intro .meta{color:#525d6a;max-width:75%}.page-intro:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16233aed 0%,#16233abf 55%,#16233a33),url('/hero-assets/horizon.webp') center 53%/cover}.reading-layout{grid-template-columns:230px minmax(0,800px);gap:65px;padding:45px 0 55px;justify-content:space-between}.contents{top:20px;border-top:3px solid #17253c;padding-top:15px}.contents a{font-size:14px;padding:8px 0}.article-copy h2{font-size:40px;margin:35px 0 17px}.article-copy p,.article-copy li{color:#4d5c6f;font-size:18px;line-height:1.7}.article-copy blockquote{background:#eee5d4;border-left:3px solid #9a7638;color:#17253c}.article-copy .callout{background:#f0ebe0}.article-end{background:#eee5d4;padding:28px;border:0}.article-end .button{color:#fff}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.idea-card{border:0;border-radius:0;background:#f0ebe0;padding:27px;box-shadow:0 4px 10px #25251f08}.idea-card:nth-child(2){margin-top:32px;background:#eadbb8}.idea-card:nth-child(3){background:#e1e8df}.idea-card:nth-child(5){background:#e9dbd3}.idea-card h2{font-size:38px}.idea-card h3{margin:18px 0 8px}.idea-card blockquote{font:italic 22px/1.35 Georgia,serif;color:#77561D}.idea-card .idea-image{width:calc(100% + 54px);max-width:none;height:205px;object-fit:cover;margin:-27px -27px 23px;display:block}.idea-card:last-child .overline{color:#5f4928}.journal-list>a{gap:24px;padding:26px 0}.journal-list h2{font-size:45px}.journal-list .arrow{color:#77561D}.journal-image{width:100%;height:230px;object-fit:cover;display:block}.journal-list:has(.journal-image){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.journal-list>a:has(.journal-image){display:flex;flex-direction:column;gap:15px;border:0;padding:0 0 25px;background:#f0ebe0}.journal-list>a:has(.journal-image)>:not(img){margin-left:22px;margin-right:22px}.journal-list>a:has(.journal-image) h2{font-size:38px}.journal-list>a:has(.journal-image) .arrow{align-self:flex-end}.guide-hero{background:#eee5d4;gap:55px;padding:42px;margin-bottom:30px}.guide-hero h1{font-size:clamp(80px,9vw,135px);margin-bottom:25px}.guide-hero .deck{font-size:20px}.guide-art{background:#16233a;border-radius:0;padding:45px}.guide-art img{box-shadow:16px 20px 0 #0f1829;max-width:290px}.spec-row{padding:20px 0}.spec-row b{font:700 48px var(--font-display)}.site-footer{margin-top:20px;background:#16233a;color:#faf7ef;padding:42px 0 22px}.footer-top{gap:40px;padding-bottom:30px;grid-template-columns:1.5fr 1fr 1fr}.footer-top h2{font-size:65px}.footer-top p,.footer-top nav a,.footer-bottom{color:#c7ccd5}.footer-bottom{border-color:#38475f}.page-table a{color:#77561D}body[data-page=privacy] .page-intro,body[data-page=terms] .page-intro,body[data-page=concept] .page-intro{background:#eee5d4;color:#17253c}body[data-page=privacy] .page-intro:after,body[data-page=terms] .page-intro:after,body[data-page=concept] .page-intro:after{display:none}body[data-page=privacy] .page-intro .deck,body[data-page=terms] .page-intro .deck,body[data-page=concept] .page-intro .deck{color:#525d6a}body[data-page=privacy] .page-intro .overline,body[data-page=terms] .page-intro .overline,body[data-page=concept] .page-intro .overline{color:#77561D}body[data-page=concept] .page-intro .meta{color:#525d6a}
@media(min-width:1500px){.hero-editorial{min-height:730px}.hero-collage{top:105px;right:7%;width:33%;height:470px}.pin-home{height:260px}.pin-morning{height:230px;top:210px}.pin-note{bottom:5px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.navlinks{gap:15px}.wordmark{font-size:27px}.hero-editorial{padding:24px 28px;min-height:610px}.hero-editorial h1{font-size:105px;max-width:65%}.hero-collage{right:4%;width:35%;top:100px;height:350px}.pin-home{height:180px}.pin-morning{height:145px;top:160px}.pin-note{font-size:23px;padding:17px}.process-section{gap:30px}.process-content h2{font-size:48px}.process-photo{min-height:530px}.process-photo>span{font-size:48px}.ritual-new{grid-template-columns:130px 1fr;gap:25px;padding:35px}.ritual-number{font-size:115px}.ritual-new .button{grid-column:2;justify-self:start}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-card:nth-child(2){margin-top:0}.empty-showcase{gap:18px;grid-template-columns:1.05fr 1fr 1fr}.sample-card.words{display:none}.guide-strip{grid-template-columns:100px 1fr;gap:25px}.guide-strip>.button{grid-column:2;justify-self:start}.guide-strip img{width:95px;grid-row:span 2}.reading-layout{gap:35px;grid-template-columns:190px minmax(0,1fr)}.guide-hero{padding:30px;gap:30px}.journal-list:has(.journal-image){gap:16px}.journal-list>a:has(.journal-image) h2{font-size:31px}}
@media(max-width:720px){.container{width:calc(100% - 32px)}.site-nav{height:70px}.wordmark{font-size:27px}.nav-toggle-new{border-radius:0;border-color:#a4a194;min-height:42px}.navlinks{top:65px;background:#faf7ef}.navlinks .nav-cta{color:#fff}.hero-editorial{margin:0 10px;padding:19px 20px 25px;min-height:750px}.hero-topline{font-size:11px;letter-spacing:.08em}.hero-topline>span:last-child{display:none}.hero-editorial h1{font-size:clamp(73px,17vw,115px);line-height:.91;max-width:100%;margin:26px 0 0}.hero-landscape{object-position:66% center}.hero-collage{position:relative;top:auto;right:auto;margin:25px 0 20px auto;width:85%;height:215px}.pin-home{width:52%;height:150px;right:3%;top:0;transform:rotate(6deg)}.pin-morning{width:50%;height:140px;left:0;top:42px}.pin-photo{padding:7px 7px 28px}.pin-photo figcaption{font-size:14px}.pin-note{right:0;bottom:0;width:41%;font-size:20px;padding:16px}.pin-note small{font-size:10px;margin-top:8px}.hero-bottom{gap:15px;align-items:center}.hero-bottom p{font-size:15px}.hero-bottom .button{min-width:185px;padding:13px 15px}.hero-note{display:none}.ticker{margin:0 10px;gap:10px;flex-wrap:wrap;justify-content:center;padding:12px 16px;font-size:10px}.ticker span:last-child,.ticker b:last-of-type{display:none}.ticker b{font-size:17px}.app-shell{padding:26px 0}.wrap{padding:0 18px}.app-shell #board-title{font-size:32px}.empty-showcase{grid-template-columns:1fr 1fr;margin:12px 3px 0;gap:13px}.empty-start{grid-column:1/-1;padding:6px 0 20px;min-height:0}.empty-start h2{font-size:35px!important}.empty-start h2 br{display:none}.empty-start p{max-width:100%}.sample-card img{height:160px}.sample-card .caption{font-size:18px;padding:11px 3px}.sample-label{font-size:12px}.section-new{padding:35px 0}.process-section{grid-template-columns:1fr;gap:27px}.process-photo{min-height:310px}.process-photo img{object-position:center 55%}.process-photo>span{font-size:49px;max-width:250px}.process-content h2{font-size:45px}.process-content .step{padding:16px 0}.process-content .step h3{font-size:23px}.ritual-new{grid-template-columns:90px 1fr;padding:25px;gap:18px}.ritual-number{font-size:86px;align-self:start}.ritual-number small{font-size:18px;margin-bottom:8px}.ritual-new h2{font-size:36px}.ritual-new p{font-size:16px}.ritual-new .button{grid-column:1/-1;justify-self:stretch}.guide-strip{padding:25px 20px;gap:22px;grid-template-columns:75px 1fr}.guide-strip img{width:75px;grid-row:auto}.guide-strip h2{font-size:43px}.guide-strip p{font-size:16px}.guide-strip>.button{grid-column:1/-1}.faq-new{grid-template-columns:1fr;gap:15px}.faq-new h2{font-size:43px}.page-intro{margin:0 10px;padding:32px 0}.page-intro>.container{min-height:230px}.page-intro h1{font-size:clamp(46px,11.5vw,65px);max-width:100%;margin-bottom:20px;overflow-wrap:break-word}.page-intro .deck{font-size:17px}.page-intro .meta{max-width:100%;font-size:12px}.reading-layout{grid-template-columns:1fr;padding:27px 0 35px;gap:28px}.contents{padding:15px 0}.contents a{padding:6px 0}.article-copy h2{font-size:35px}.category-grid{grid-template-columns:1fr;gap:20px}.idea-card h2{font-size:38px}.idea-card .idea-image{height:230px}.journal-list:has(.journal-image){grid-template-columns:1fr;gap:24px}.journal-list>a:has(.journal-image) h2{font-size:39px}.guide-hero{padding:27px 22px;grid-template-columns:1fr;gap:30px}.guide-hero h1{font-size:94px}.guide-art{padding:35px}.guide-art img{max-width:220px}.spec-row b{font-size:42px}.preview-pages{gap:28px}.footer-top{grid-template-columns:1fr 1fr;gap:20px}.footer-top>div{grid-column:1/-1}.footer-top h2{font-size:55px}.footer-top nav a{font-size:14px}.footer-bottom{font-size:12px}.page-table{min-width:620px}}
@media print{.hero-editorial,.ticker,.hero-collage{display:none!important}.tile{box-shadow:none}}
.add-form label{font-size:14px}.add-form input,.add-form textarea,.add-form select{font-size:16px}.tile-text .tile-line{font-family:Georgia,serif;font-style:italic;font-size:26px}.tile-text .tile-line.is-bold{font-weight:700}.tile-text .tile-line.is-big{font-size:32px}.form-hint{font-size:13px}
.category-grid{display:block;column-count:3;column-gap:22px}.idea-card{break-inside:avoid;margin-bottom:22px}.idea-card:nth-child(2){margin-top:0}@media(max-width:1100px){.category-grid{column-count:2}}@media(max-width:720px){.category-grid{column-count:1}}
/* Brand refinement: original identity, softer forms, richer photographic content. */
.wordmark{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:25px;letter-spacing:-.035em;gap:11px;line-height:1.1;color:var(--text);flex-shrink:0}.wordmark>span{display:block}.wordmark .brand-mark{width:34px;height:39px;object-fit:contain;flex:none}.navlinks .nav-cta,.button,.empty-start button,.tool,.sit-btn,.nav-toggle-new{border-radius:999px}.button,.navlinks .nav-cta{padding-inline:25px}.hero-bottom .button,.tool-primary,.btn-primary{background:#77561D!important;border-color:#77561D!important;color:#fff!important}.hero-bottom .button:hover,.tool-primary:hover,.btn-primary:hover{background:#80602b!important;border-color:#80602b!important}.hero-editorial{border-radius:28px}.hero-shade{background:linear-gradient(90deg,rgba(16,27,46,.70),rgba(16,27,46,.12)),linear-gradient(0deg,rgba(12,23,39,.74),transparent 55%)}.hero-note-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff6b;border-radius:50%;font-size:26px}.hero-note{gap:20px}.ticker{margin-top:12px;margin-bottom:16px;border-radius:100px;background:#eee4d0;border:1px solid #ded1b6;color:#5b4a2b;padding-block:12px}.ticker b{color:#9a7638}.pin-photo{border-radius:12px;padding:9px 9px 35px}.pin-photo img{border-radius:6px}.pin-note{border-radius:5px 5px 20px 5px}.pin-home{height:240px;width:70%}.pin-morning{height:195px;width:58%;top:181px}.pin-photo figcaption{font-size:16px}.app-shell{border-radius:26px;margin:0 18px}.empty-start .btn-quiet{padding-inline:12px}.sample-card{border-radius:14px}.sample-card img{border-radius:8px}.sample-card.words{border-radius:10px}.tile{border:1px solid #e2dccc;border-radius:16px}.tile-img-wrap{border-radius:10px}.tile-text{border-radius:10px}.tile-text .tile-line{color:#17253c}.add-tile,.add-form,.form-tile,.modal,.form-hint{border-radius:16px}.tool:focus-visible,.button:focus-visible{outline-offset:3px}.process-photo,.guide-strip,.ritual-new,.guide-art,.page-intro,.idea-card,.article-end,.article-copy .callout{border-radius:22px}.process-photo{overflow:hidden}.process-photo img{object-position:55% center}.process-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#111c31bb,transparent);pointer-events:none}.process-photo>span{z-index:1;font-size:clamp(42px,4.5vw,65px)}.guide-strip img{border-radius:5px;box-shadow:5px 8px 18px #17253c20}.guide-art{background:radial-gradient(ellipse at 50% 20%,#344462,#16233a 70%)}.guide-art img{border-radius:3px}.guide-hero{border-radius:26px}.preview-pages img{border-radius:12px}.idea-card{overflow:hidden}.article-copy blockquote{border-radius:0 16px 16px 0}.journal-list>a:has(.journal-image){border-radius:20px;overflow:hidden}.article-visual{margin:0 0 32px}.article-visual img{display:block;width:100%;height:auto;border-radius:18px}.article-visual figcaption{font-size:14px;color:var(--muted);margin-top:10px}.starter-board-photo{width:100%;height:190px;object-fit:cover;border-radius:14px;display:block;margin-top:15px}.inspiration-intro{max-width:370px}.inspiration-intro p{font-size:16px;line-height:1.55;color:var(--muted);margin-bottom:12px}.inspiration-mosaic{display:grid;grid-template-columns:1.25fr .85fr .85fr;grid-template-rows:245px 245px;gap:18px}.inspiration-tile{position:relative;border-radius:20px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;text-decoration:none;background:var(--night);color:#fff;min-width:0}.inspiration-tile:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#101b2de6,transparent);z-index:-1;pointer-events:none}.inspiration-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}.inspiration-tile:hover img{transform:scale(1.035)}.inspiration-tile>div{padding:23px}.inspiration-tile span{display:block;font-size:12px;letter-spacing:.1em;color:#e4d3b1;margin-bottom:9px}.inspiration-tile h3{font-size:26px;font-weight:500;line-height:1.08;margin:0;color:#fff}.inspiration-board{grid-column:1;grid-row:1 / 3}.inspiration-board img{object-position:center;object-fit:cover}.inspiration-board h3{font-size:36px}.inspiration-car{grid-column:2 / 4;grid-row:1}.inspiration-car img{object-position:center 61%}.inspiration-money{grid-column:2;grid-row:2}.inspiration-photo{grid-column:3;grid-row:2}.inspiration-photo img{object-position:43% center}.inspiration-section .section-top{align-items:flex-end}.site-footer{border-radius:28px 28px 0 0}.page-intro:after{border-radius:inherit}.article-copy a:not(.button):hover,.text-link:hover{color:#6f511e}.idea-card[style]{background:#eee1c4!important}.article-copy .button{color:#fff}.article-copy .button.outline{color:var(--text)}
@media(min-width:1500px){.pin-home{height:270px}.pin-morning{height:235px;top:208px}}
@media(max-width:1100px){.wordmark{font-size:23px;gap:8px}.wordmark .brand-mark{width:30px;height:35px}.navlinks{gap:17px}.navlinks .nav-cta{padding:13px 18px}.pin-home{height:195px}.pin-morning{height:163px;top:161px}.inspiration-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 230px 230px}.inspiration-board{grid-column:1;grid-row:1 / 3}.inspiration-car{grid-column:2;grid-row:1}.inspiration-money{grid-column:2;grid-row:2}.inspiration-photo{grid-column:1 / 3;grid-row:3}.inspiration-photo img{object-position:center 45%}.inspiration-photo h3{font-size:32px}.inspiration-board h3{font-size:32px}}
@media(max-width:850px) and (min-width:721px){.site-nav{gap:12px}.navlinks{gap:12px}.navlinks a{font-size:13px}.wordmark{font-size:21px}.navlinks .nav-cta{padding:12px}}
@media(max-width:720px){.wordmark{font-size:23px}.hero-editorial{border-radius:22px}.ticker{border-radius:18px;margin-top:10px;margin-bottom:12px}.pin-home{width:59%;height:156px}.pin-morning{width:51%;height:148px;top:51px}.pin-photo figcaption{font-size:13px}.hero-collage{height:230px}.pin-note{font-size:19px;width:40%;bottom:0}.app-shell{margin:0 10px;border-radius:20px}.wrap{padding:0 16px}.process-photo,.guide-strip,.ritual-new,.guide-art,.page-intro,.idea-card,.article-end{border-radius:18px}.process-photo{min-height:360px}.process-photo img{object-position:center}.process-photo>span{font-size:47px}.inspiration-intro{margin-top:18px;max-width:100%}.inspiration-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:310px 210px 220px;gap:12px}.inspiration-board{grid-column:1 / 3;grid-row:1}.inspiration-board img{object-position:center 46%}.inspiration-car{grid-column:1;grid-row:2}.inspiration-money{grid-column:2;grid-row:2}.inspiration-photo{grid-column:1 / 3;grid-row:3}.inspiration-tile{border-radius:16px}.inspiration-tile>div{padding:17px}.inspiration-tile h3{font-size:23px}.inspiration-tile span{font-size:11px;letter-spacing:.08em}.inspiration-board h3,.inspiration-photo h3{font-size:31px}.inspiration-car img{object-position:54% center}.article-visual{margin-bottom:25px}.guide-hero{border-radius:22px}.starter-board-photo{height:230px}.site-footer{border-radius:22px 22px 0 0}}
@media print{.inspiration-section{display:none!important}}
body[data-page="vision-board-ideas"] .page-intro:after,body[data-page="2027-vision-board"] .page-intro:after{background-image:linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55),url('/hero-assets/finished-board.webp');background-position:center,center 43%}body[data-page="how-to-make-a-vision-board"] .page-intro:after,body[data-page="why-vision-boards-stop-working"] .page-intro:after{background-image:linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55),url('/hero-assets/writing.webp')}body[data-page="blog"] .page-intro:after{background-image:linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55),url('/hero-assets/scrapbook-board.webp')}body[data-page="about"] .page-intro:after{background-image:linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55),url('/hero-assets/photography.webp')}


/* ---------- Display face ----------
   The width axis is what makes the headline a headline. Archivo set narrow and
   heavy carries the concept's condensed uppercase display without shipping a
   second font, and it degrades to Arial Narrow where the variable face has not
   loaded yet. */
h1, h2, .wordmark, .hero-editorial h1, .display {
  font-variation-settings: 'wdth' 78;
}
h3, h4 { font-variation-settings: 'wdth' 96; }
body { font-variation-settings: 'wdth' 100; }

/* The restore offer in the empty state. Small, and only one line, because it
   matters to the few people moving a board rather than starting one. */
.empty-restore { margin: 14px 0 0; font-size: 14px; color: var(--muted); }
.empty-restore .link-btn {
  background: none; border: 0; padding: 0; cursor: pointer;
  color: var(--gold-text); font: inherit;
  text-decoration: underline; text-underline-offset: 3px;
}
.empty-restore .link-btn:hover { color: var(--night); }

/* ---------- Installed app, and devices with a notch ----------
   board-1.css carries these rules for the old markup; these are the same
   intentions expressed against the classes this design actually uses. Without
   them the installed app opens on a full-screen marketing hero instead of the
   board, and the header sits underneath the status bar.

   Nothing is removed from the document: the sections below the board stay
   reachable, so a link from the nav or the footer never lands on a dead end. */
@media (display-mode: standalone) {
  .hero-editorial,
  .ticker { display: none; }
  .app-shell { padding-top: max(20px, env(safe-area-inset-top, 0px)); }
  header.container { padding-top: env(safe-area-inset-top, 0px); }
  .site-nav { height: 68px; }
  .site-footer { padding-bottom: max(32px, env(safe-area-inset-bottom, 0px)); }
}

/* A phone with a notch in landscape puts the cutout at the side, so the gutter
   has to grow rather than the top inset. */
@media (max-width: 900px) and (orientation: landscape) {
  .container { width: min(1440px, calc(100% - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
}

/* ---------- Readability on the two page-intro variants ----------
   .page-intro is a photographic navy band on the article pages and a plain tan
   band on terms and privacy. The theme already recolours the deck and the
   eyebrow for both, but it never recoloured the meta line, so the dateline sat
   at roughly 1.3:1 on tan and 2.3:1 on the photograph. It now follows the
   band it is actually on, like everything else in the block. */
.page-intro .meta { color: rgba(255, 253, 248, 0.74); }
body[data-page=terms] .page-intro .meta,
body[data-page=privacy] .page-intro .meta { color: #525d6a; }

/* The label on the process photograph is white type over the bright page of a
   notebook. The theme's scrim starts at 45% and tops out around 73% alpha,
   which is not enough there: measured over the rendered pixels the type came
   out well under 4.5:1. This starts the scrim higher and takes it darker at
   the foot, where the words actually sit. */
.process-photo:after {
  inset: 26% 0 0;
  background: linear-gradient(0deg,
    rgba(10, 16, 28, 0.90) 0%,
    rgba(10, 16, 28, 0.66) 40%,
    rgba(10, 16, 28, 0) 100%);
}
.process-photo > span { text-shadow: 0 1px 3px rgba(10, 16, 28, 0.5); }

/* At the tablet width the note card rode up over the caption of the board
   photograph, so "the future, in pictures" was half-covered. Measured at
   768px: a 94x39 overlap. Dropping the note and trimming it clears the
   caption without changing the composition at any other width. */
@media (min-width: 721px) and (max-width: 900px) {
  .pin-note { bottom: 0; width: 43%; font-size: 18px; padding: 14px 15px; }
  .pin-home { height: 148px; }
  .pin-morning { top: 140px; }
}

/* The not-found page sits outside the .page-intro band, so its heading was
   inheriting the small default rather than the display size every other page
   uses. */
body[data-page="404"] main h1 { font-size: clamp(40px, 6vw, 76px); margin-bottom: 26px; }

/* Below the tablet break the collage stacks and the note card lands across the
   caption of the board photograph, clipping it to "…in pictures". The collage
   is decorative (the group carries its own aria-label and every image has alt
   text), and at this size that caption is a few illegible words, so it goes
   rather than being squeezed. The writing photo's caption clears the note and
   stays. Measured at 600, 430 and 390px. */
@media (max-width: 720px) {
  .pin-home figcaption { display: none; }
  .pin-home { padding-bottom: 9px; }
}

/* ---------- The card face must follow its column ----------
   The theme pins .tile-text to min-height:300px. Combined with its
   aspect-ratio of 1/1 that also forces the WIDTH to 300px, so on a two-column
   phone board a 157px tile was holding a 300px face and the card's text ran
   off the right edge and was cut mid-word. The square already follows the
   column width on its own; the minimum is the thing that broke it.

   The floor is kept for wide boards, where a column is comfortably over 300px
   anyway, by expressing it against the available width rather than as a fixed
   pixel value. */
.tile-text { min-height: 0; }


/* ---------- Photographs sized for the device ----------
   These bands paint a full-width photograph behind the page heading. Every one
   of them was serving the same ~290KB 1536px file to a 390px phone, which is
   most of the weight of an article page for pixels nobody can see. The <img>
   elements on the site use srcset for this; a background-image cannot, so the
   swap is made by width here instead.

   Only the photograph changes. The gradient, the position and everything else
   stay exactly as the theme set them, so nothing moves. */

@media (max-width: 900px) {
  .page-intro:after { background-image: linear-gradient(90deg,#16233aed 0%,#16233abf 55%,#16233a33), url('/hero-assets/horizon-800.webp'); }
  body[data-page="vision-board-ideas"] .page-intro:after,body[data-page="2027-vision-board"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/finished-board-800.webp'); }
  body[data-page="how-to-make-a-vision-board"] .page-intro:after,body[data-page="why-vision-boards-stop-working"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/writing-800.webp'); }
  body[data-page="blog"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/scrapbook-board-800.webp'); }
  body[data-page="about"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/photography-800.webp'); }
}

@media (max-width: 560px) {
  .page-intro:after { background-image: linear-gradient(90deg,#16233aed 0%,#16233abf 55%,#16233a33), url('/hero-assets/horizon-640.webp'); }
  body[data-page="vision-board-ideas"] .page-intro:after,body[data-page="2027-vision-board"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/finished-board-640.webp'); }
  body[data-page="how-to-make-a-vision-board"] .page-intro:after,body[data-page="why-vision-boards-stop-working"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/writing-640.webp'); }
  body[data-page="blog"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/scrapbook-board-640.webp'); }
  body[data-page="about"] .page-intro:after { background-image: linear-gradient(90deg,#16233af2 0%,#16233ad4 50%,#16233a55), url('/hero-assets/photography-640.webp'); }
}

/* ---------- The More menu must stay on screen ----------
   The menu is anchored with transform: translateX(calc(-100% + 44px)), which
   only lands correctly if its wrapper is exactly the width of the 44px button.
   On an empty board the wrapper is a stretched grid item, so the menu was
   pulled 166px left of a 161px wrapper and opened 140px off the left edge of
   a phone screen, covering the page behind it.

   Pinning the wrapper to its content makes the assumption true everywhere
   rather than only where it happened to hold. */
.menu-wrap { width: max-content; justify-self: end; }

/* On an empty board the only control left in the toolbar is the More menu, but
   the toolbar is a grid whose hidden first track still reserved its column, so
   the button sat stranded in the middle of the row. A flex row puts the one
   remaining control where it belongs, at the end, and the menu then opens
   under it without needing to be rescued. */
.board-empty .toolbar { display: flex; justify-content: flex-end; }

/* The theme anchored this menu horizontally with
   transform: translateX(calc(-100% + 44px)), but .menu also runs a menuIn
   keyframe that animates transform. An animation's transform replaces the
   property outright while it runs, so for the first 130ms the anchoring was
   simply discarded: the menu appeared in one place and snapped to another.

   Horizontal position belongs in layout, not in a transform that something
   else is already animating. right: 0 puts the menu's right edge on the
   button's right edge, works whatever the wrapper is doing, leaves the
   keyframe free to own the entry, and gives a correct box to measure the
   instant it opens. */
.menu-wrap .menu {
  right: 0;
  left: auto;
  transform: none;
  max-width: calc(100vw - 20px);
}

/* ---------- The ticker separator ----------
   U+2733 has an emoji presentation, and iOS picks it: the separators rendered
   as green emoji tiles rather than as a typographic mark. Drawing the mark
   instead of asking a font for it removes the question entirely, on every
   platform. */
.ticker b {
  font-size: 0 !important;
  line-height: 0;
  width: 7px; height: 7px;
  display: inline-block;
  flex: none;
  background: currentColor;
  transform: rotate(45deg);
  opacity: 0.85;
}

/* ---------- Controls are controls, not text ----------
   Nothing on the site set user-select, so on iOS the label inside a button is
   selectable text sitting on top of the control. A tap that is held even
   slightly, or drifts a pixel, starts a text selection and the click never
   fires: the button reads as simply not working, with the label highlighted.

   Prose, card text and article copy stay selectable. This is only for the
   things you press. -webkit-touch-callout stops the long-press menu on the
   same elements for the same reason. */
button,
.button,
.btn-primary,
.btn-quiet,
.nav-cta,
.tool,
.tab,
.sit-btn,
summary,
[role="menuitem"],
.nav-toggle-new,
.tile-menu-btn {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* The board title is deliberately editable, so it must stay selectable even
   though it sits among the controls. */
#board-title { -webkit-user-select: text; user-select: text; }
