/* User-selected floral editorial direction, 2026-10-23. */
:root{--ink:#49352d;--green:#276f70;--muted:#6e625b;--paper:#fff;--sage:#f7f6f2;--line:#e5dfd8;--rust:#276f70;--aqua:#79d0ce;--aqua-light:#eaf8f7;--cream:#faf7f2;--serif:"Shippori Mincho","Yu Mincho",serif;--sans:"Shippori Mincho","Yu Mincho",serif}
body{background:#fff;color:var(--ink);font-family:var(--serif);line-height:1.95;overflow-wrap:break-word}h1,h2,h3{color:var(--ink);font-weight:400;letter-spacing:.04em;line-height:1.65;text-wrap:pretty}h3{font-family:var(--serif)}p{font-size:18px}em{color:var(--ink)}.wrap{width:min(1160px,calc(100% - 96px))}.eyebrow{color:var(--muted);font-weight:400;letter-spacing:.12em;font-size:13px}.note,figcaption{color:var(--muted)}.preview-banner{background:#f6f3ed;color:#6e625b;font-size:11px;letter-spacing:.08em;padding:4px 16px}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #f4f0e9;position:sticky}.header-inner{max-width:1360px;min-height:94px;padding:20px 48px}.site-name{display:inline-block;font-size:23px;font-weight:400;letter-spacing:.12em;text-decoration:none;color:var(--ink);white-space:nowrap}.site-name:visited{color:var(--ink)}.brand-mark{display:none!important}.site-nav{gap:30px}.site-nav a{font-size:15px;font-weight:400;letter-spacing:.05em;position:relative}.site-nav a:visited{color:var(--ink)}.site-nav [aria-current]{color:var(--green)}.site-nav a:hover{color:var(--green)}.site-nav .nav-contact,.site-nav .nav-contact:visited{background:transparent;border:0;color:var(--ink);padding:8px 0}.site-nav .nav-contact::after{content:"";display:block;height:1px;background:var(--aqua);position:absolute;left:0;right:0;bottom:0}.menu-toggle{border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font-size:14px}.button,.button:visited{background:var(--aqua);color:#263d38;border:1px solid var(--aqua);font:400 19px/1.6 var(--serif);border-radius:12px;min-height:60px;padding:15px 28px;gap:30px;letter-spacing:.04em;box-shadow:none}.button:hover{background:#a0dfdc;border-color:#a0dfdc;transform:translateY(-2px);color:#263d38}.button.outline,.button.light,.button.outline:visited,.button.light:visited{background:#fff;color:var(--ink);border:1px solid #4aa4a1}.button.outline:hover,.button.light:hover{background:var(--aqua-light);color:var(--ink)}.text-link,.text-link:visited{color:var(--green);font-size:17px;font-weight:400;border-bottom:1px solid #7dbbb7}.text-link:hover{color:#224f50}.text-link span{display:inline-block}.section{padding:82px 0}.section.sage,.section.paper{background:var(--cream)}.section-head{margin-bottom:42px}.section-head h2{font-size:clamp(30px,3vw,41px)}.section-head::after,.page-heading-copy::after{content:"";display:block;width:52px;height:1px;background:var(--aqua);margin-top:24px}.section-head .eyebrow{margin-bottom:10px}.large-copy{font-size:32px;color:var(--ink)}.editorial-grid{gap:82px}.feature-grid{gap:68px}.feature-grid>figure img{border-radius:5px}.screen-frame{border-color:var(--line);border-radius:6px;padding:12px;background:white}.screen-caption{color:var(--muted)}
/* The photo supplies atmosphere; all editorial copy remains accessible HTML. */
body.home .hero{position:relative;display:block;width:100%;max-width:none;padding:0;min-height:640px;isolation:isolate;overflow:hidden;border-radius:0 0 50% 0/0 0 9% 0}.hero-frame{max-width:1260px;width:calc(100% - 112px);margin:auto;position:relative;z-index:2;padding:58px 0 70px;pointer-events:none}.hero-copy{padding:0;width:64%;pointer-events:auto}.hero h1{font-size:clamp(40px,4.05vw,59px);line-height:1.65;font-weight:400;letter-spacing:.035em;margin:0 0 21px}.headline-line{display:block}.hero-byline{margin-bottom:24px;font-size:19px;line-height:1.7}.hero-byline strong{display:block;font-size:31px;font-weight:400;letter-spacing:.13em}.hero-byline::after{content:"";display:block;width:48px;height:1px;background:var(--aqua);margin-top:17px}.hero .eyebrow{font-size:12px;letter-spacing:.09em;margin-bottom:16px}.hero-lead{font-size:20px;line-height:1.85;max-width:620px}.hero-actions{margin-top:26px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}.hero-actions .button{min-width:365px}.hero-actions .text-link{font-size:14px;line-height:1.8}.hero-visual{position:absolute;inset:0 0 0 auto;width:69%;padding:0;margin:0;z-index:0;display:block;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,#000 39%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,#000 39%)}.hero-photo{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:64% 50%;border-radius:0;max-width:none}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.85) 15%,rgba(255,255,255,.15) 47%,transparent 65%)}.chapter-strip{background:#fff;border:0;padding:22px 0}.chapter-strip>.wrap{color:var(--muted);font-size:12px;justify-content:center;gap:40px}.chapter-strip a{color:var(--green)}.home-services{padding-top:40px;padding-bottom:85px}.home-services .section-head{text-align:center;margin-bottom:36px}.home-services .section-head::after{margin-inline:auto}.home-services .section-head h2{font-size:37px}.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}.service-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff;text-decoration:none;display:flex;flex-direction:column;padding:13px;min-width:0;transition:box-shadow .25s,transform .25s}.service-card:hover{box-shadow:0 10px 30px rgba(87,65,39,.07);transform:translateY(-4px)}.service-card-photo{width:100%;height:190px;object-fit:cover;border-radius:3px}.service-card:nth-child(2) .service-card-photo{object-position:75% 65%}.service-card:nth-child(3) .service-card-photo{object-position:15% 55%}.service-card-copy{padding:17px 8px 9px;display:flex;flex-direction:column;flex:1}.service-card h3{font-size:24px;line-height:1.7;letter-spacing:.02em;margin-bottom:14px}.service-card h3::after{content:"";display:block;width:42px;height:1px;background:var(--aqua);margin-top:14px}.service-card .eyebrow{font-size:12px;letter-spacing:.015em;margin-bottom:6px}.service-card p{font-size:18px;line-height:1.85}.card-arrow{align-self:flex-end;margin-top:auto;color:var(--green);font-family:var(--sans);font-size:25px;line-height:1.4}.service-card .service-number{display:none}.service-summary{margin-top:28px}.home-about{padding:0 0 75px}.home-about .about-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-atmosphere{margin-left:calc((min(1160px,100vw - 96px) - 100vw)/2);overflow:hidden;border-radius:0 6px 6px 0}.about-atmosphere img{width:100%;height:440px;object-fit:cover}.home-about h2{font-size:34px;margin:19px 0 24px;line-height:1.7}.home-about .eyebrow::after{content:"";display:block;width:44px;height:1px;background:var(--aqua);margin-top:16px}.home-about .button{margin-top:24px;min-width:290px}.home-about .micro-note{font-size:12px;color:var(--muted);margin-top:10px}.home-listen .section-head,.home-process .section-head,.home-journal .section-head,.home-questions .section-head{text-align:center}.home-listen .section-head::after,.home-process .section-head::after,.home-journal .section-head::after,.home-questions .section-head::after{margin-inline:auto}.about-preview{grid-template-columns:330px 1fr;gap:72px}.about-preview>figure img{border-radius:5px}.process{gap:28px}.process li{border-top-color:var(--aqua);padding-top:24px}.step-number{color:var(--green);font-size:27px;margin-bottom:18px}.process h3{font-family:var(--serif);font-size:23px}.journal-list{border-top:0}.journal-row{border-bottom-color:var(--line);padding:28px 8px}.journal-number{color:var(--green)}.journal-row h3{font-family:var(--serif);font-weight:400;font-size:24px}.journal-row:hover{color:var(--green)}.journal-row .eyebrow{color:var(--green)}.faqs summary{font-weight:400}.q,.plus{color:var(--green)}.faqs details{border-color:var(--line)}.faqs .answer{color:var(--muted)}
/* Shared floral title band and quiet reading layout on every inner page. */
.page-heading{width:100%;max-width:none;padding:0;border:0;background:#faf8f4;position:relative;overflow:hidden}.page-heading-copy{max-width:1160px;width:calc(100% - 96px);margin:0 auto;padding:58px 0 55px;position:relative;z-index:1;min-height:300px}.page-heading::after{content:"";position:absolute;inset:0 0 0 auto;width:34%;background-image:linear-gradient(90deg,#faf8f4,rgba(250,248,244,.1)),url('../../src/editorial-hero.webp');background-size:cover;background-position:center 42%;opacity:.55;pointer-events:none}.page-heading .eyebrow{color:var(--green);font-size:12px;margin-bottom:15px}.page-heading h1{font-size:clamp(32px,3.6vw,48px);line-height:1.6;letter-spacing:.035em;max-width:890px;margin-bottom:20px}.page-heading .lead{font-size:18px;max-width:760px;line-height:1.95}.page-heading-copy::after{margin-top:23px}.two-columns{gap:45px}.two-columns>div{border-color:var(--aqua);padding:25px 0}.table-scroll{border-radius:5px;border:1px solid var(--line)}thead th{background:#f1f7f5;color:var(--ink);border-bottom:1px solid #b6d5d2}th,td{padding:23px 22px}.price-panel{border-top-color:var(--line)}.price{color:var(--ink)}.lined-list span{color:var(--green)}.diagram{border-radius:5px;border-color:var(--line);padding:15px;margin-top:50px}.diagram img{border-radius:3px}.comic-section{background:#faf6ef!important}.comic-nav a{border-color:#bad6d2;background:#fff;color:var(--ink);border-radius:4px}.comic-nav a:hover{background:var(--aqua-light)}.comic-track{scrollbar-color:#7fbab5 #eee8df}.comic-page{border-radius:4px}.image-dialog{border-radius:7px;background:#fff}.image-dialog::backdrop{background:rgba(49,35,29,.78)}.dialog-close{border-radius:5px;background:#276f70;color:white}.info-list>div{border-color:var(--line)}dt{font-weight:500}.contact-panel{background:var(--cream);border-color:var(--line);border-radius:7px}.notice{border-left-color:var(--aqua)}.art-grid img{border:1px solid #f3eee7;border-radius:5px}.prose h2{border-color:var(--line);font-weight:400}.prose h3{color:var(--ink);font-weight:400}.toc{background:var(--cream);border-radius:5px}.article-sidebar{border-color:var(--line)}.article-sidebar h2{font-family:var(--serif);font-weight:400}.article-cover img{background:var(--cream);border-radius:5px}.author-box{background:var(--cream);border:0;border-radius:5px;padding:28px}.author-box h3{font-family:var(--serif);font-weight:400}.closing{color:var(--ink);background:#fff;padding:74px 0 80px;border-top:1px solid #f4eee7;position:relative;overflow:hidden}.closing-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}.closing h2{font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.7;margin-bottom:15px}.closing .eyebrow{color:var(--muted);font-size:12px;letter-spacing:.12em;margin-bottom:16px}.closing p{font-size:18px}.closing .button.light,.closing .button.light:visited{min-width:310px;background:var(--aqua);border-color:var(--aqua);color:#263d38}.closing .button.light:hover{background:#a0dfdc;border-color:#a0dfdc}.closing::before,.closing::after{content:"";position:absolute;top:0;bottom:0;width:18%;background:url('../../src/editorial-hero.webp') center/cover;opacity:.16;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent);-webkit-mask-image:linear-gradient(90deg,#000,transparent)}.closing::before{left:0}.closing::after{right:0;transform:scaleX(-1)}.site-footer{background:var(--cream);padding:50px 0 25px}.footer-main{margin-bottom:30px;align-items:center}.footer-main>p{font-size:14px}.footer-nav{padding:22px 0;gap:16px 30px}.footer-nav a{font-size:14px}.footer-bottom{font-size:12px;border-color:var(--line)}
@media(max-width:1180px){.header-inner{padding-inline:32px;min-height:84px}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:46px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 32px 30px;max-height:calc(100dvh - 85px);overflow:auto;border-bottom:1px solid var(--line)}.site-nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.site-nav a{font-size:18px;padding:15px 0;border-bottom:1px solid var(--line);white-space:normal}.site-nav .nav-contact{font-size:18px;padding:16px 0}.site-nav .nav-contact::after{display:none}.hero-frame{width:calc(100% - 80px);padding:45px 0 60px}.hero-copy{width:67%}.hero h1{font-size:clamp(39px,4.2vw,50px)}.hero-lead{font-size:18px}.hero-actions .button{min-width:330px;font-size:18px}.hero-visual{width:66%}.home-services .section-head h2{font-size:34px}.service-card-photo{height:160px}.service-card h3{font-size:22px}.service-card-copy{padding-inline:4px}.service-list{gap:18px}.home-about .about-photo-grid{gap:42px}.home-about h2{font-size:30px}.about-atmosphere img{height:410px}.home .hero{min-height:610px}.page-heading-copy{min-height:280px}.section{padding-block:72px}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.hero-frame{width:calc(100% - 64px)}.hero-copy{width:74%}.hero h1{font-size:39px}.hero-visual{width:65%;opacity:.8}.hero-lead{max-width:510px}.service-list{grid-template-columns:1fr;gap:22px}.service-card{display:grid;grid-template-columns:34% minmax(0,1fr);gap:22px;padding:16px;align-items:stretch}.service-card-photo{height:100%;max-height:300px;min-height:240px}.service-card-copy{padding:6px 6px 6px 0}.service-card h3{font-size:26px}.home-about .about-photo-grid{gap:30px}.home-about h2{font-size:28px}.home-about p{font-size:18px}.about-atmosphere{margin-left:-32px}.about-atmosphere img{height:410px}.editorial-grid{gap:45px}.profile-grid,.feature-grid{gap:40px}.page-heading-copy{width:calc(100% - 64px)}.page-heading::after{width:27%}.page-heading h1{max-width:760px}.page-heading .lead{max-width:680px}.process{grid-template-columns:1fr 1fr}.about-preview{gap:38px;grid-template-columns:280px 1fr}}
@media(max-width:760px){.hero-frame{padding:36px 0 46px;width:calc(100% - 40px)}.hero-copy{width:100%;position:relative}.hero h1{font-size:clamp(28px,6.6vw,43px);letter-spacing:.02em;line-height:1.7;margin-bottom:23px}.hero-byline{font-size:17px;margin-bottom:24px}.hero-byline strong{font-size:27px}.hero .eyebrow{font-size:11px;letter-spacing:.04em;max-width:none;margin-bottom:13px}.hero-lead{font-size:18px;max-width:520px;line-height:1.9}.hero-actions{margin-top:27px;gap:18px}.hero-actions .button{min-width:0;width:100%;max-width:400px;font-size:18px;min-height:58px;padding-inline:24px}.hero-actions .text-link{font-size:14px}.hero-visual{position:relative;width:100%;height:260px;opacity:1;mask-image:none;-webkit-mask-image:none;margin-top:0}.hero-photo{object-position:65% 57%;height:100%;border-radius:0;aspect-ratio:auto}.hero-visual::after{background:linear-gradient(180deg,#fff,rgba(255,255,255,.75) 9%,transparent 32%)}body.home .hero{min-height:0;border-radius:0 0 35% 0/0 0 4% 0;display:flex;flex-direction:column}.hero-frame{order:0}.hero-visual{order:1}.chapter-strip>.wrap{gap:8px 20px;justify-content:center;font-size:11px;line-height:1.8}.chapter-strip>.wrap>span:nth-child(2){display:none}.chapter-strip a{margin-left:0}.home-services{padding-top:31px}.home-services .section-head h2{font-size:29px}.home-about .about-photo-grid{grid-template-columns:1fr;gap:33px}.about-atmosphere{margin-inline:-20px;border-radius:0}.about-atmosphere img{height:290px;object-position:center 65%}.home-about h2{font-size:29px;margin-top:16px}.home-about .button{min-width:0;width:100%;max-width:360px}.home-about{padding-bottom:55px}.page-heading-copy{width:calc(100% - 40px);padding:42px 0 39px;min-height:0}.page-heading h1{font-size:clamp(29px,7vw,36px);line-height:1.7;max-width:none;margin-bottom:20px}.page-heading .lead{font-size:18px;line-height:1.95}.page-heading::after{width:30%;opacity:.15}.page-heading-copy::after{margin-top:21px}.section{padding-block:58px}.section-head{margin-bottom:32px}.section-head h2{font-size:29px}.section-head::after{margin-top:18px}.service-card{padding:12px;gap:18px;grid-template-columns:1fr}.service-card-photo{height:195px;min-height:0;max-height:none;object-position:center 60%}.service-card-copy{padding:0 7px 7px}.service-card h3{font-size:25px;line-height:1.65}.service-card p{font-size:18px}.service-card .eyebrow{font-size:12px}.card-arrow{font-size:26px}.service-list{gap:24px}.wrap{width:calc(100% - 40px)}.header-inner{padding:15px 20px;min-height:75px}.site-name{font-size:22px;letter-spacing:.1em}.menu-toggle{font-size:13px;min-height:44px;padding:8px 11px}.site-nav{padding-inline:20px}.eyebrow{font-size:12px}.note{font-size:14px}.feature-grid,.profile-grid,.about-preview,.editorial-grid,.two-columns{grid-template-columns:1fr;gap:30px}.large-copy{font-size:27px;line-height:1.9}.process{grid-template-columns:1fr;gap:0}.process li{grid-template-columns:36px 1fr;gap:16px;padding:24px 0}.process h3{font-size:23px}.process p{font-size:18px}.journal-row h3{font-size:21px}.journal-row{gap:13px;padding-block:25px}.faqs summary{padding:22px 0;font-size:18px}.answer{padding:0 8px 25px 30px}.diagram{padding:7px;margin-top:33px}.profile-grid figure img{max-height:510px}.price-panel{grid-template-columns:1fr;gap:18px}.price,.price.smaller{font-size:40px}.contact-panel{padding:28px 20px}.contact-panel h2{font-size:27px}.contact-panel .button{font-size:17px}.closing{padding-block:52px 57px}.closing-inner{gap:22px;align-items:center;text-align:center}.closing h2{font-size:27px;margin-bottom:17px}.closing p{font-size:18px}.closing .button.light{min-width:0;max-width:100%;width:300px;font-size:18px}.closing::before,.closing::after{width:22%;opacity:.1}.footer-main{align-items:flex-start;gap:24px;flex-direction:column}.footer-nav{gap:17px 25px}.footer-nav a{font-size:14px}.site-footer{padding-block:40px 24px}.footer-bottom{font-size:12px}.article-heading h1{font-size:30px}.prose h2{font-size:27px}.prose h3{font-size:22px}.prose p,.author-box p{font-size:18px}.article-cover{margin-bottom:32px}.author-box{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.button,.service-card{transition:none;transform:none!important}}

.hero-copy,.hero-visual{animation:none!important}

/* Stable paragraph size and semantic question groups on narrow screens. */
.hero-byline,.hero-lead{font-size:18px}
.price{white-space:normal}
.question-text{flex:1;min-width:0}
.q{flex-shrink:0}
@media(max-width:760px){.hero-byline,.hero-lead{font-size:18px}.page-works .page-heading h1{font-size:27px;letter-spacing:.01em}}

.page-heading.wrap{width:100%;max-width:none}
.service-card .eyebrow{margin-bottom:12px}
.service-card h3{line-height:1.6}

.page-heading .lead{text-wrap:balance}

/* Blog: complete, uncropped thumbnails; three columns on desktop, two on mobile. */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);text-decoration:none;transition:box-shadow .2s,transform .2s}
.blog-card:visited{color:var(--ink)}
.blog-card:hover{color:var(--ink);box-shadow:0 8px 26px rgba(73,53,45,.08);transform:translateY(-3px)}
.blog-card:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.blog-thumbnail{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0}
.blog-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 18px 22px}
.blog-card .eyebrow{margin:0;color:var(--green);font-size:13px;letter-spacing:.04em;line-height:1.8}
.blog-card h3{font-size:23px;line-height:1.7;letter-spacing:.015em;margin:0;word-break:normal;line-break:strict;overflow-wrap:normal;text-wrap:balance}
.blog-card-link{display:flex;gap:12px;align-items:center;margin-top:6px;color:var(--green);font-size:15px;line-height:1.8}
.home-journal .section-head h2{max-width:none}
@media(max-width:760px){
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .blog-card-copy{padding:13px 10px 16px;gap:9px}
  .blog-card .eyebrow{font-size:12px;letter-spacing:0}
  .blog-card h3{font-size:18px;line-height:1.75;letter-spacing:0}
  .blog-card-link{font-size:13px;gap:8px;margin-top:5px}
}
