/*
Theme Name: Anna Mizuki
Description: 水月杏南オフィシャルサイト専用テーマ
Version: 1.1.0
Requires PHP: 7.4
Text Domain: anna-mizuki
*/

:root{--background:#fff;--foreground:#292929;--primary:#a82667;--primary-foreground:#fff;--input:#bdb6b2;--ring:#a82667;--paper:#f3f0ed;--muted:#746e6a;--line:#ddd8d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--foreground);background:white;font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}img{display:block;width:100%;object-fit:cover}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:20}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:.06em}.brand small{display:block;font:10px Arial;letter-spacing:.28em;margin-top:4px}nav{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.1em}.menu-button{border:0;background:none;font-size:14px}.nav-contact{background:#292929;color:white;padding:12px 24px}.allmenu{position:absolute;top:100px;right:0;background:white;border:1px solid var(--line);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;box-shadow:0 15px 30px #0001}.allmenu a{font-size:14px}.hero{position:relative;min-height:670px;height:calc(100vh - 100px);max-height:880px;background:#faf9f8;overflow:hidden}.hero-image{position:absolute;right:0;top:0;width:55%;height:100%;object-position:center 27%;animation:portrait 18s ease-out both}.hero-copy{position:relative;z-index:1;margin-left:9%;padding-top:9%;width:55%}.eyebrow{font-size:12px;letter-spacing:.23em;text-transform:uppercase;display:block;margin-bottom:25px;color:var(--primary)}.hero h1{font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(38px,4.3vw,70px);line-height:1.7;letter-spacing:.09em}.hero .english{font-family:Georgia,serif;font-style:italic;font-size:25px;color:#8b7e77;margin-top:20px}.hero .lead{margin-top:25px;font-size:14px;line-height:2.3;letter-spacing:.08em}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em}.hero-name{font-family:Georgia,serif;font-size:23px}.section{padding:110px 8%;}.section-inner{max-width:1200px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.section h2,.page-title{font:normal clamp(36px,4vw,58px)/1.2 Georgia,serif;letter-spacing:-.02em}.jp-title{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:28px;line-height:1.9;margin:28px 0}.body-copy{line-height:2.3;color:#625d59}.text-link{display:inline-block;border-bottom:1px solid #999;padding:10px 0;margin-top:30px;font-size:13px;letter-spacing:.09em}.text-link span{margin-left:40px}.intro-photo{height:520px;object-position:center 25%}.photo-caption{font:italic 20px Georgia;text-align:right;margin-top:14px;color:#8c777e}.warm{background:var(--paper)}.heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.story-card{padding:36px 26px;border-right:1px solid var(--line)}.story-card:first-child{padding-left:0}.story-card b{font:normal 55px Georgia;color:var(--primary)}.story-card small{display:block;letter-spacing:.14em;font-size:11px;margin:10px 0}.story-card p{font-size:14px}.quote{text-align:center;padding:110px 20px;background:#fff}.quote h2{font:normal clamp(24px,3vw,42px)/2 'Yu Mincho',serif;letter-spacing:.1em}.quote p{font:italic 18px Georgia;color:#8b7e77;margin-top:24px}.point-wrap{display:grid;grid-template-columns:1fr 2fr;gap:60px}.point-number{font:normal 110px/1 Georgia;color:var(--primary)}.point-number small{font:14px Arial;letter-spacing:.15em}.point-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.point-action{background:white;border:1px solid var(--line);padding:20px;text-align:left;font-size:14px;display:flex;justify-content:space-between;gap:10px}.point-action:disabled{background:#ece7e8;color:#78626d;cursor:default}.note{font-size:12px;color:var(--muted);margin-top:18px}.history{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}.history div{text-align:center;font-size:12px}.history strong{display:block;color:var(--primary);font-size:20px}.life-words{display:flex;flex-wrap:wrap;gap:12px 34px;font:normal clamp(26px,4vw,49px) Georgia;margin:38px 0}.life-words a:hover{color:var(--primary)}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.journey-card{border-top:1px solid #a8b6bc;padding:30px 10px}.journey-card .index{font:italic 45px Georgia;color:#7c9aa7}.journey-card h3{font-size:20px;margin-top:24px}.journey-card p{font-size:13px;color:#66757a}.blue{background:#edf3f5}.cycle{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin:40px 0}.cycle div{border-top:1px solid #b9a8af;padding:20px 10px;flex:1;min-width:115px}.cycle small{display:block;font-family:Georgia;color:var(--primary)}.community{background:#2c3033;color:white;text-align:center}.community h2{font-size:60px;margin:25px 0}.community .eyebrow{color:#d7acbf}.footer{padding:60px 8% 25px;background:#f5f3f1}.footer-links{display:flex;flex-wrap:wrap;gap:15px 28px;font-size:12px;margin:30px 0}.copyright{font-size:11px;color:#807b77;border-top:1px solid var(--line);padding-top:20px}.page-head{padding:85px 8% 60px;background:var(--paper)}.page-head .jp-title{font-size:18px;margin:20px 0 0}.content{max-width:1050px;margin:auto;padding:75px 30px 110px}.prose{max-width:740px}.prose h2{font:normal 28px/1.7 'Yu Mincho',serif;margin:40px 0 20px}.prose p{line-height:2.4;margin:20px 0}.timeline-item{display:grid;grid-template-columns:180px 1fr;gap:60px;border-top:1px solid var(--line);padding:55px 0}.timeline-item b{font:normal 56px Georgia;color:var(--primary);position:sticky;top:40px;align-self:start}.timeline-item h2{font-family:'Yu Mincho',serif;font-size:28px;margin-bottom:20px}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.life-entry{border-top:1px solid var(--line);padding-top:25px}.life-entry h2{font:36px Georgia;margin-bottom:20px}.contact-form{max-width:700px}.field{display:block;margin:25px 0}.field span{display:block;font-size:14px;margin-bottom:8px}.field input,.field textarea{width:100%;border:1px solid #bbb4af;padding:13px;background:white;border-radius:0}.field textarea{min-height:170px}.submit{border:0;background:#292929;color:white;padding:17px 45px;margin-top:24px}.submit:disabled{opacity:.5}.status{padding:20px;border:1px solid var(--line);margin:20px 0}.consent{display:flex;gap:12px;align-items:center;font-size:14px}.journal-list{border-top:1px solid var(--line);margin-top:35px}.journal-entry{display:block;padding:28px 0;border-bottom:1px solid var(--line)}.journal-entry small{font-size:12px;color:var(--primary)}.journal-entry h3{font:24px/1.8 'Yu Mincho',serif}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.filters button{border:1px solid var(--line);padding:8px 20px;background:white;font-size:13px}.filters button.active{background:#292929;color:white}.empty{padding:40px 0;color:var(--muted)}@keyframes portrait{from{transform:scale(1.035)}to{transform:scale(1)}}@media(max-width:900px){nav>a:not(.nav-contact){display:none}.hero-copy{margin-left:6%;width:65%}.hero-image{width:62%;opacity:.75}.split{gap:6%}.section{padding:80px 6%}.point-wrap{grid-template-columns:1fr;gap:30px}.story-card{padding:25px 12px}.story-card b{font-size:40px}.journey-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{height:80px;padding:0 6%}.brand{font-size:22px}nav{gap:16px}.nav-contact{display:none}.allmenu{top:80px;width:100%;padding:26px;gap:20px;font-size:12px}.hero{height:auto;min-height:790px}.hero-image{top:0;width:100%;height:530px;opacity:1;object-position:center 22%}.hero-copy{padding:380px 0 70px;width:88%;margin:0 6%}.hero-copy:before{content:'';position:absolute;inset:320px -7% 0;background:linear-gradient(transparent,#faf9f8 110px);z-index:-1}.hero h1{font-size:35px;line-height:1.65}.hero .eyebrow{font-size:10px;margin-bottom:15px}.hero .english{font-size:22px;margin-top:14px}.hero .lead{font-size:13px;margin-top:18px}.hero-bottom{bottom:18px}.hero-name{display:none}.section{padding:68px 7%}.split{grid-template-columns:1fr;gap:40px}.intro-photo{height:440px}.section h2{font-size:36px}.jp-title{font-size:23px}.heading-row{display:block}.story-grid{grid-template-columns:1fr 1fr}.story-card{border-bottom:1px solid var(--line);padding:22px 14px!important}.story-card b{font-size:42px}.quote{padding:75px 20px}.quote h2{font-size:24px}.point-actions{grid-template-columns:1fr}.point-number{font-size:85px}.journey-grid{gap:15px}.journey-card h3{font-size:18px}.life-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:20px;padding:36px 0}.timeline-item b{position:static}.page-head{padding:55px 7% 40px}.page-title{font-size:39px}.content{padding:50px 7% 75px}.community h2{font-size:45px}.cycle{gap:12px}.cycle div{min-width:110px}.footer{padding:50px 7% 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}}

.site-menu summary{list-style:none;cursor:pointer;padding:12px 0}.site-menu summary::-webkit-details-marker{display:none}.site-menu .menu-close-label{display:none}.site-menu[open] .menu-open-label{display:none}.site-menu[open] .menu-close-label{display:inline}.site-menu summary:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.site-menu .allmenu{max-height:calc(100dvh - 100px);overflow-y:auto}.allmenu a{padding:8px 0}.allmenu a:hover{color:var(--primary)}@media(max-width:600px){.site-menu .allmenu{max-height:calc(100dvh - 80px)}}

/* Keep the hero footer below its content at every viewport height. */
.hero{height:auto;min-height:max(670px,calc(100svh - 100px));max-height:none;display:flex;flex-direction:column;justify-content:space-between}
.hero-copy{padding-bottom:52px}
.hero-bottom{position:relative;inset:auto;margin:0 5% 32px;gap:24px;align-items:center;z-index:1;flex-shrink:0}
@media(max-width:600px){.hero{min-height:790px}.hero-copy{padding-bottom:40px}.hero-bottom{margin:0 6% 22px;gap:16px;flex-wrap:wrap}}

.anna-page-content{display:contents}.anna-page-content p:empty{display:none}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.contact-form input[type=checkbox]{width:20px;height:20px;accent-color:#a82667}.anna-notice{padding:20px;border:1px solid #ddd;margin-bottom:20px}.wp-block-image img{height:auto}

header nav a.nav-contact{color:#fff!important}main .submit,main a.session-button{color:#fff!important}

main .journal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;border-top:0;align-items:start}main .journal-entry{padding:0 0 26px;min-width:0}main .journal-media{aspect-ratio:4/3;overflow:hidden;background:#e9e5e2;margin-bottom:22px}main .journal-photo{display:block;width:100%;height:100%;object-fit:cover}main .journal-copy h3{font:20px/1.65 'Yu Mincho',serif;margin:12px 0;color:#292929}main .journal-copy p{font-size:14px;line-height:1.9;color:#777;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 20px}main .journal-read{font-size:12px;letter-spacing:.1em;color:#a82667}@media(max-width:1000px){main .journal-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){main .journal-list{grid-template-columns:1fr}}

/* Shared page heading with Anna portrait */
main .page-head.anna-photo-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);padding:0;min-height:350px;align-items:stretch;overflow:hidden}main .anna-title-copy{padding:70px 8vw 60px;align-self:center;min-width:0}main .anna-title-copy .page-title{font-size:clamp(32px,4vw,58px);overflow-wrap:anywhere}main .anna-title-photo{position:relative;min-height:350px;background:#fff}main .anna-title-photo img{position:absolute;width:100%;height:100%;inset:0;display:block;object-fit:cover;object-position:50% 23%}main .anna-title-copy .jp-title{margin-bottom:0}@media(max-width:700px){main .page-head.anna-photo-head{grid-template-columns:1fr;min-height:0}main .anna-title-copy{padding:42px 7% 32px}main .anna-title-photo{min-height:0;height:260px}main .anna-title-photo img{object-position:50% 26%}main .anna-title-copy .page-title{font-size:36px}}

/* Personal session button contrast and topic inset */
main #personal-session a.session-book,main #personal-session a.session-book:visited{color:#fff!important}main #personal-session a.session-book:hover,main #personal-session a.session-book:focus-visible{color:#000!important}main #personal-session a.session-book span{color:inherit!important}main #personal-session .session-topic{padding-left:2em!important;padding-right:1em!important}

/* MY LIFE: small shared photographs and detailed editorial cards. */
main .anna-life-edit .life-item{gap:12px;min-width:0}
main .anna-life-edit .life-num{display:none}
main .anna-life-edit .anna-favorite-photo{width:60px;height:60px;flex:0 0 60px;object-fit:cover;border-radius:2px}
main .anna-life-edit .life-item-label{min-width:0}
main .anna-life-edit .life-jp{font-size:16px;letter-spacing:0}
main .life-feature-intro{display:grid;grid-template-columns:140px minmax(0,1fr);gap:36px;align-items:center;margin-bottom:60px}
main .life-feature-intro .intro-photo{width:140px;height:175px;object-fit:cover;object-position:center 25%;margin:0}
main .life-feature-intro h2{font-size:clamp(22px,3vw,32px);font-weight:400;line-height:1.7;margin:10px 0}
main .life-feature-intro p{font-size:15px;line-height:2;color:#68635f;max-width:650px}
main .life-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 44px}
main .life-feature-card{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:24px;border-top:1px solid #ddd8d3;padding:28px 0 0;scroll-margin-top:130px;min-width:0}
main .life-feature-card .anna-favorite-photo{width:120px;height:120px;object-fit:cover;border-radius:2px;margin-top:4px}
main .life-feature-card .eyebrow{font-size:10px;letter-spacing:.18em}
main .life-feature-card h2{font:normal 25px/1.3 Georgia,serif;margin:8px 0 14px}
main .life-feature-card h3{font-size:17px;font-weight:400;line-height:1.8;margin:0 0 14px}
main .life-feature-card p{font-size:14px;line-height:2.05;color:#68635f;margin:0}
main .life-photo-note{font-size:11px;color:#898079;letter-spacing:.06em;margin-top:38px}
@media(max-width:1050px){main .anna-life-edit .life-index{grid-template-columns:repeat(2,minmax(0,1fr))}main .life-feature-grid{gap:38px 28px}main .life-feature-card{grid-template-columns:88px minmax(0,1fr);gap:18px}main .life-feature-card .anna-favorite-photo{width:88px;height:88px}}
@media(max-width:700px){main .life-feature-grid{grid-template-columns:1fr}main .life-feature-intro{grid-template-columns:90px minmax(0,1fr);gap:22px;margin-bottom:36px}main .life-feature-intro .intro-photo{width:90px;height:120px}main .life-feature-intro p{font-size:13px}main .life-feature-intro h2{font-size:20px}main .anna-life-edit .life-item{gap:10px}main .anna-life-edit .anna-favorite-photo{width:48px;height:48px;flex-basis:48px}main .anna-life-edit .life-jp{font-size:14px}main .anna-life-edit .life-en{font-size:9px;letter-spacing:.1em}main .anna-life-edit .life-arrow{display:none}main .life-feature-card h2{font-size:23px}main .life-feature-card h3{font-size:16px}}

/* Journey photo cards and destination stories. */
main .journey-card.anna-journey-photo-card{display:block;padding:0 0 24px;border-top:0;min-width:0;position:relative}
main .anna-journey-photo-card .anna-journey-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 0 18px}
main .anna-journey-photo-card .index{font:italic 18px/1.3 Georgia,serif;color:#7c9aa7}
main .anna-journey-photo-card h3{margin:8px 0;font-size:20px;line-height:1.5}
main .anna-journey-photo-card p{font-size:11px;letter-spacing:.08em;line-height:1.6;margin:0;padding-right:20px}
main .anna-journey-photo-card::after{content:'↗';position:absolute;right:0;bottom:24px;color:#66757a}
main .anna-journey-stories{max-width:none;margin-top:60px}
main .anna-place-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:44px;align-items:center;padding:48px 0;border-top:1px solid #ddd8d3;scroll-margin-top:120px}
main .anna-place-photo{margin:0;min-width:0}
main .anna-place-photo .anna-journey-photo{display:block;width:100%;height:auto;margin:0}
main .anna-place-copy h2{font-size:clamp(24px,3vw,34px);font-weight:400;line-height:1.5;margin:0 0 20px}
main .anna-place-copy p{font-size:15px;line-height:2;margin:0 0 16px}
main .anna-place-copy .note{font-size:12px;color:#898079}
@media(hover:hover) and (prefers-reduced-motion:no-preference){main .anna-journey-photo-card .anna-journey-photo{transition:filter .3s ease}main .anna-journey-photo-card:hover .anna-journey-photo{filter:brightness(1.07)}}
@media(max-width:700px){main .anna-place-story{grid-template-columns:1fr;gap:22px;padding:32px 0}main .anna-journey-stories{margin-top:32px}main .anna-journey-photo-card h3{font-size:18px}main .anna-journey-photo-card .anna-journey-photo{margin-bottom:14px}main .anna-journey-photo-card p{font-size:9px;letter-spacing:.03em}main .anna-place-copy h2{margin-bottom:12px}main .anna-place-copy p{font-size:14px}}

/* UN CYCLE: six matching line icons. */
main .anna-cycle-icons .anna-cycle-icon{display:block;width:40px;height:40px;color:var(--primary);margin:19px 0 17px}main .anna-cycle-icons>div>span{display:block;line-height:1.6}main .anna-cycle-icons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}main .anna-cycle-icons>div{min-width:0}@media(max-width:850px){main .anna-cycle-icons{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){main .anna-cycle-icons{grid-template-columns:repeat(2,minmax(0,1fr))}main .anna-cycle-icons .anna-cycle-icon{width:34px;height:34px;margin:15px 0}}

/* Unified figures and capitals in the HOME story cards. */
.story-grid .story-card b{display:flex;align-items:baseline;gap:.18em;font-family:Arial,"Helvetica Neue",sans-serif;font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1.15;letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums;min-height:1.15em;white-space:nowrap}
.story-grid .story-card b span{font-family:inherit;font-size:.38em!important;line-height:1;font-weight:400;letter-spacing:.06em!important}
.story-grid .story-card small{margin-top:18px;line-height:1.5}
@media(max-width:600px){.story-grid .story-card b{font-size:34px}}
