/* Design 02 — the coastal study. Landscape, linen, warm stone and quiet sea. */
:root{--paper:#f8f5ef;--sand:#e8ddcd;--greige:#b8ab97;--ink:#252d29;--muted:#414c45;--sage:#7c8e8c;--sage-dark:#36534d;--gold:#b49a72;--line:#d9d2c6}
.preview-note{background:#e6eae7;color:#4b6465}
.brand-tagline{color:#626b66}.brand-dot,.heading-dot{color:#7a9394}
.site-header{height:118px}.hero{height:auto;min-height:0;aspect-ratio:1672/941;margin:0 25px;background:#ddd5c7;max-height:none}
.hero-image{object-position:center;inset:0;height:100%}
.hero-wash{background:linear-gradient(115deg,#f8f5ef61 0%,#f8f5ef21 36%,transparent 58%);pointer-events:none}
.hero-content{padding:clamp(44px,5.3vw,84px) 6% 0;max-width:800px}
.hero .eyebrow{color:#465857;font-size:1rem;letter-spacing:.25em;margin-bottom:20px}
.hero h1{color:#343b3c;font-size:clamp(2.25rem,4.05vw,4.0625rem);line-height:1.66;letter-spacing:.1em;text-shadow:0 1px 16px #f8f5ef40}
.hero-bottom{bottom:24px;color:#f8f5ef;font-size:1rem;left:6%;right:4%}
.hero-bottom>span{background:#343b3c73;padding:6px 10px}.hero-bottom>a{background:#343b3c73}
.hero-after{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:47px 0 49px;border-bottom:1px solid var(--line)}
.hero-after .hero-intro{font-family:var(--serif);font-size:1.5625rem;line-height:1.9;letter-spacing:.09em;margin:0}
.hero-after .hero-description{font-size:1rem;line-height:2.05;margin:0}.hero-after .hero-link{margin-top:13px;min-width:210px}
.welcome{padding-top:104px;padding-bottom:113px}.welcome .jp-heading{font-size:2.375rem}.welcome-copy{padding-top:21px}.welcome-copy>p:first-child{font-size:1.25rem}
.handwritten{color:#859492}.explore{padding-bottom:116px}.explore-grid{grid-template-columns:1.15fr 1fr;gap:60px 7%}
.explore-journal .photo-link{aspect-ratio:1.16}.explore-journal img{object-position:49% center}
.explore-astrology{padding-top:77px}.astrology-photo{padding:0;width:100%;aspect-ratio:1.38;text-align:left}.astrology-photo img{height:100%;object-position:center}
.explore-lifestyle{margin-top:5px}.explore-lifestyle .photo-link{aspect-ratio:1.18}.explore-lifestyle img{object-position:58% center}
.explore-sessions{margin-top:15px;padding-top:43px}.photo-index{background:#343b3c85}.explore-caption>p:last-of-type{line-height:2.15}
.stories-section{background:#efebe3}.story-image{aspect-ratio:1.4}.story-image img{object-position:center}.story-card h3{font-size:1.375rem}
.sessions-section{background:#e3e8e4}.service-row,.service-tail{border-color:#b8c3bb}.service-row .eyebrow{color:#536765}.service-number{color:#627b79}.service-tail{color:#586966}
.footer{background:#ede6db}.preview-footer{background:#e1e5df;color:#586761}.portrait-wrap img{filter:none}.portrait-signature{color:#5c7776}.letter{padding-top:112px;padding-bottom:116px}
@media(min-width:1600px){.hero{max-width:1550px;margin:auto}.hero-content{padding-top:82px}}
@media(max-width:1200px) and (min-width:681px){.hero{height:auto;min-height:0}.hero-content{padding-top:45px}.hero h1{font-size:clamp(2.0625rem,4.1vw,3.125rem)}.hero .eyebrow{margin-bottom:12px;font-size:1rem}.hero-after .hero-intro{font-size:1.4375rem}}
@media(max-width:850px) and (min-width:681px){.site-header{height:92px}.hero{margin:0 16px;aspect-ratio:1.6}.hero h1{font-size:2.125rem}.hero-content{padding-top:28px}.hero-after{gap:6%;padding:35px 0}.hero-after .hero-intro{font-size:1.25rem}.hero-after .hero-description{font-size:1rem}.hero-after .hero-link{font-size:1rem}.explore-caption h3{font-size:2rem}.astrology-photo{aspect-ratio:1.25}.explore-astrology{padding-top:50px}.welcome-copy>p:first-child{font-size:1.125rem}.story-card h3{font-size:1.125rem}}
@media(max-width:680px){.site-header{height:86px}.hero{display:flex;flex-direction:column;aspect-ratio:auto;height:auto;min-height:0;margin:0 12px;overflow:hidden;background:var(--paper)}
.hero-content{order:0;padding:25px 5% 29px;max-width:none}.hero .eyebrow{font-size:1rem;margin-bottom:14px;letter-spacing:.19em}.hero h1{font-size:clamp(2.0625rem,8.7vw,2.8125rem);line-height:1.65;letter-spacing:.085em;text-shadow:none}
.hero-image{order:1;position:static;width:100%;height:340px;object-fit:cover;object-position:52% center}
.hero-wash{display:none}.hero-bottom{display:none}.hero-after{display:block;padding:33px 0 37px}.hero-after .hero-intro{font-size:1.4375rem;line-height:1.85;letter-spacing:.065em}.hero-after .hero-description{font-size:1rem;line-height:2.1;margin-top:21px}.hero-after .hero-link{font-size:1rem;min-width:202px;margin-top:18px}
.welcome{padding-top:70px;padding-bottom:77px}.welcome .jp-heading{font-size:2.0625rem}.welcome-copy{padding-top:34px}.welcome-copy>p:first-child{font-size:1.1875rem;letter-spacing:.03em}.welcome-copy>p{font-size:1rem}.explore{padding-bottom:73px}.explore-grid{gap:40px}.explore-astrology{padding-top:0}.explore-journal .photo-link{aspect-ratio:1.15}.astrology-photo{aspect-ratio:1.22}.explore-lifestyle{margin-top:0}.explore-lifestyle .photo-link{aspect-ratio:1.15}.explore-sessions{margin-top:0;padding-top:30px}.explore-caption>p:last-of-type{font-size:1rem}.explore-caption>p:last-of-type br{display:none}.story-image{aspect-ratio:1.4}.story-card h3{font-size:1.3125rem}.letter{padding-top:70px;padding-bottom:75px}}
@media(max-width:370px){.hero-content{padding-top:20px}.hero h1{font-size:1.875rem}.hero-image{height:310px}.hero-after .hero-intro{font-size:1.3125rem}.hero-after .hero-description{font-size:1rem}}

/* Japanese section titles match the existing editorial headings. */
.section-heading .jp-heading{font-size:clamp(1.625rem,3vw,2.25rem);line-height:1.7;margin-top:14px}

/* Readability refinement: preserve the coastal palette and layout. */
:where(h1,h2,h3){text-wrap:balance;line-break:strict}
p,li{line-break:strict;text-wrap:pretty}
.hero h1{color:#293332}.brand-tagline{color:#515c54}
.handwritten{color:#526c66}.service-row .eyebrow,.service-number,.service-tail{color:#4b5d53}
.footer-bottom{color:#50574e}.preview-footer{color:#4b584e}
.hero-after .hero-intro,.welcome-copy>p,.about-copy>p,.sessions-heading>p,.letter>p,.featured-copy>p,.journal-index-heading>p{text-wrap:balance}
.navigation>a>span{color:var(--muted)}

@media(max-width:680px){#about-title{font-size:clamp(1.625rem,7.7vw,2rem);letter-spacing:.025em}}

/* Site-wide readable type: 16px minimum at default browser settings. */
html{font-size:100%}
body{font-size:1.0625rem;font-weight:500}
.wordmark,.english-heading,.explore-caption h3,.portrait-signature{font-weight:400}
h1,h2,h3{color:var(--ink)}
.brand-tagline{display:block;color:var(--ink);font-size:1rem;font-weight:500;letter-spacing:.04em;line-height:1.6}
.site-header{height:auto;min-height:118px;padding-top:20px;padding-bottom:20px}
.preview-note{height:auto;min-height:36px;padding:5px 16px;flex-wrap:wrap;gap:0 16px;line-height:1.6;letter-spacing:.06em;text-align:center}
.hero h1,.hero .eyebrow{color:var(--ink)}
.hero-bottom>span,.hero-bottom>a,.photo-index,.image-note{background:#29332feb;color:#fff}
.handwritten,.service-row .eyebrow,.service-number,.service-tail,.footer-bottom,.preview-footer{color:var(--muted)}
.hero-after .hero-description,.welcome-copy>p:not(:first-child),.explore-caption>p:last-of-type,.explore-sessions>p:not(.eyebrow),.about-copy>p:not(.eyebrow):not(.about-name),.sessions-heading>p:not(.eyebrow):not(.external-note),.service-row div>p:last-child,.letter>p:not(.eyebrow):not(.letter-status),#dialog-body{font-size:1.0625rem}
.hero-after .hero-description{font-size:1.0625rem!important}
.eyebrow{letter-spacing:.1em}
.photo-index{max-width:calc(100% - 32px);left:16px;letter-spacing:.08em}
.service-row{grid-template-columns:24px minmax(0,1fr) 24px}
.footer-bottom small{white-space:normal}
@media(max-width:1100px){
.site-header{position:relative;z-index:10;min-height:108px;gap:20px}
.menu-toggle{display:flex;align-items:center;flex-shrink:0;gap:11px;padding:12px 0 12px 12px;font-size:1rem;letter-spacing:.06em}
.menu-lines{width:21px;height:12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}
.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg);border-bottom:0;height:1px}
.menu-toggle[aria-expanded=true] .menu-lines::after{content:"";width:21px;height:1px;position:absolute;left:0;top:-1px;background:var(--ink);transform:rotate(90deg)}
.navigation{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:17px 8% 30px;box-shadow:0 18px 22px #37363114;border-top:1px solid var(--line)}
.navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
.navigation>a{display:flex;justify-content:space-between;align-items:center;gap:4px 12px;flex-wrap:wrap;font-size:1.4375rem;padding:14px 0;border-bottom:1px solid var(--line);white-space:normal}
.navigation>a>span{display:block;font-family:var(--sans);font-size:1rem}
.navigation>.nav-letter{padding:15px 0 5px;border:0}
}
@media(max-width:680px){
.site-header{gap:12px;padding-top:16px;padding-bottom:16px}
.brand{flex-direction:column;align-items:flex-start;gap:4px;flex-shrink:1;min-width:0}
.brand-tagline{display:block;margin:0;letter-spacing:.01em;text-wrap:balance}
.menu-toggle{padding-left:0;gap:8px}
.hero .eyebrow{letter-spacing:.08em}
.footer nav{grid-template-columns:1fr;gap:12px}
.footer-bottom>div{align-items:flex-start}
}
/* Allow the header to grow when the reader enlarges text. */
.site-header{flex-wrap:wrap}
.navigation{flex-wrap:wrap;max-width:100%}

/* Official Instagram glyph; 24px icon within a 44px touch target. */
footer .footer-instagram{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:4px;line-height:1;text-decoration:none}
footer .footer-instagram svg{display:block;width:24px;height:24px;flex:none;fill:#000}
footer .footer-instagram:hover{background:rgba(55,54,49,.06)}
footer .footer-instagram:focus-visible{outline:2px solid #566453;outline-offset:3px}
.footer .footer-instagram{margin-top:12px;margin-left:-10px}

/* Isolated homepage proposal. Not merged into the official source. */
.home-layout-preview .hero{aspect-ratio:1672/771.62}
.home-layout-preview .hero-image{object-position:50% 54%}
.home-layout-preview .explore{padding-top:70px;padding-bottom:78px}
.home-layout-preview .explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:stretch}
.home-layout-preview .explore-item{display:flex;flex-direction:column;grid-area:auto;order:initial;min-width:0;margin:0;padding:0;border:0}
.home-layout-preview .explore-item .photo-link{aspect-ratio:4/3;width:100%;padding:0}
.home-layout-preview .explore-item .photo-link img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-layout-preview .explore-item .photo-index{top:14px;left:14px;padding:2px 8px;max-width:none}
.home-layout-preview .explore-item .circle-arrow{width:36px;height:36px;right:14px;bottom:14px}
.home-layout-preview .explore-caption{display:flex;flex-direction:column;flex:1;margin-top:20px}
.home-layout-preview .explore-caption h3{font-family:var(--font-display);font-size:1.75rem;line-height:1.25;letter-spacing:-.025em;min-height:2.5em;margin:0;text-wrap:balance}
.home-layout-preview .explore-caption .category-jp{margin-top:6px;font-size:1rem}
.home-layout-preview .explore-caption>p:not(.category-jp){font-size:1.0625rem;line-height:2;margin-top:14px;text-wrap:pretty}
.home-layout-preview .explore-caption .text-link{font-size:1rem;min-width:0;max-width:100%;gap:12px;margin-top:auto;padding-top:18px;min-height:62px;justify-content:space-between;width:100%}
.home-layout-preview .category-link-label{word-break:keep-all;overflow-wrap:normal;text-wrap:balance}
.home-layout-preview .explore-caption br{display:none}
.home-layout-preview .hero-after{border-top:1px solid var(--line)}
.home-layout-preview .welcome{padding-top:70px;padding-bottom:90px}
@media(min-width:681px) and (max-width:850px){
  .home-layout-preview .hero{aspect-ratio:1.95122}
}
@media(max-width:1100px){
  .home-layout-preview .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
  .home-layout-preview .explore-caption h3{min-height:0}
}
@media(max-width:680px){
  .home-layout-preview .hero{aspect-ratio:auto}
  .home-layout-preview .hero-image{height:278.8px;object-position:52% center}
  .home-layout-preview .explore{padding-top:44px;padding-bottom:52px;width:88%}
  .home-layout-preview .explore-grid{gap:32px 18px}
  .home-layout-preview .explore .section-heading{margin-bottom:28px;padding-bottom:24px}
  .home-layout-preview .explore-caption{margin-top:16px}
  .home-layout-preview .explore-caption h3{font-size:1.375rem;min-height:2.5em}
  .home-layout-preview .explore-caption .category-jp{font-size:1rem;line-height:1.7;letter-spacing:0}
  .home-layout-preview .explore-caption>p:not(.category-jp){font-size:1rem;line-height:1.9;letter-spacing:.015em;margin-top:12px}
  .home-layout-preview .explore-caption .text-link{font-size:1rem;line-height:1.7;gap:8px}
  .home-layout-preview .explore-item .photo-index{top:8px;left:8px;font-size:1rem}
  .home-layout-preview .explore-item .circle-arrow{width:32px;height:32px;right:8px;bottom:8px}
  .home-layout-preview .welcome{padding-top:48px;padding-bottom:64px}
}
@media(max-width:370px){
  .home-layout-preview .hero-image{height:254.2px}
  .home-layout-preview .explore-grid{gap:30px 14px}
  .home-layout-preview .explore-caption h3{font-size:1.25rem}
  .home-layout-preview .explore-caption .text-link{gap:4px}
}

/* Final review: equal links and a portrait at 70% of its previous dimensions. */
.home-layout-preview .category-description{margin-bottom:18px}
.home-layout-preview .explore-caption .category-link-label{min-width:0;font-size:inherit;line-height:inherit}
.home-layout-preview .explore-caption .text-link>span[aria-hidden]{flex:none}
.home-layout-preview .portrait-wrap{width:calc((100% - 23px)*.7);margin:0 auto}
.home-layout-preview .portrait-wrap::before{left:-16px;bottom:-16px;top:35px;right:21px}
.home-layout-preview .portrait-signature{font-size:3.675rem;right:-24px;bottom:-22px}
@media(max-width:680px){
 .home-layout-preview .explore-caption .text-link{min-height:84px;padding-top:18px;align-items:center}
 .home-layout-preview .portrait-wrap{width:calc((100% - 41px)*.7);margin:0 auto}
 .home-layout-preview .portrait-wrap::before{left:-14px;bottom:-14px;top:25px;right:21px}
 .home-layout-preview .portrait-signature{font-size:3.01875rem;right:-15px;bottom:-22px}
}
@media(max-width:359px){
 .home-layout-preview .explore-grid{grid-template-columns:1fr;gap:36px}
 .home-layout-preview .explore-caption h3{min-height:0;font-size:1.5rem}
 .home-layout-preview .explore-caption .text-link{min-height:62px}
}

/* Owner preview: keep the mobile guide compact without reducing text size. */
@media(max-width:680px){
 .home-layout-preview .explore{width:92%}
 .home-layout-preview .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:36px 14px}
 .home-layout-preview .explore-caption{margin-top:14px}
 .home-layout-preview .explore-caption h3{font-size:1.375rem;line-height:1.25;min-height:0}
 .home-layout-preview .explore-caption h3 a{display:block;min-height:0}
 .home-layout-preview .explore-caption .category-jp{margin-top:8px;font-size:1.0625rem;line-height:1.75}
 .home-layout-preview .explore-caption .category-description{display:none}
 .home-layout-preview .explore-caption .text-link,
 .home-layout-preview .explore-item .photo-index{display:none}
 .home-layout-preview .explore-item .circle-arrow{display:grid;width:30px;height:30px;right:9px;bottom:9px;font-size:1.125rem;line-height:1}
 /* Extend the existing title link over its own card, keeping native navigation. */
 .home-layout-preview .explore-item{position:relative;isolation:isolate}
 .home-layout-preview .explore-caption,
 .home-layout-preview .explore-caption h3,
 .home-layout-preview .explore-caption h3 a{position:static}
 .home-layout-preview .explore-caption h3 a::after{content:"";position:absolute;inset:0;z-index:3}
 .home-layout-preview .explore-caption h3 a:focus-visible::after{outline:2px solid var(--ink);outline-offset:5px}
}

/* Keep the profile dialog content while its entry is temporarily hidden. */
.home-layout-preview .about-copy [data-dialog="about"][hidden]{display:none}
