/* 株式会社パーシ・フル ｜ 明るいグリーン版 */
:root{
  --green:#329a59;
  --green-hover:#27864b;
  --deep:#32754d;
  --lime:#85d99a;
  --pale:#eff9ef;
  --mint:#dff4df;
  --ink:#273c2e;
  --muted:#607467;
  --line:#d8e9db;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-bottom:86px;color:var(--ink);background:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #f3a63e;outline-offset:3px}
.wrap{max-width:1110px;margin:auto;padding:0 26px}
.bar{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;box-shadow:0 2px 12px rgba(50,154,89,.035)}
.head{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.mark{height:45px;width:45px;background:linear-gradient(135deg,#67ca84,#329a59);border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;font-size:21px;letter-spacing:-2px;box-shadow:0 5px 12px rgba(50,154,89,.19)}
.brandstrong{display:block;font-size:19px;letter-spacing:.03em;line-height:1.45}
.brandsmall{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em}
.navlinks{display:flex;gap:20px;align-items:center}
.navlinks a{text-decoration:none;font-size:14px;font-weight:750;color:#32754d}
.navlinks a:hover,.navlinks a[aria-current=page]{color:#24894c;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.headphone{font-weight:800;text-decoration:none;color:var(--green);white-space:nowrap;font-size:16px}
.headphone small{display:block;font-size:10px;color:var(--muted);font-weight:500;text-align:right}
.alert{background:#f5fbf3;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;color:#57695a}
.alert strong{color:#286d43}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#bdeac1 0%,#91daa4 55%,#65c987 100%);color:#234d34;padding:91px 0 100px;isolation:isolate}
.hero::before{content:"";position:absolute;width:465px;height:465px;border-radius:50%;border:70px solid rgba(255,255,255,.21);right:-80px;top:-175px;z-index:-1;pointer-events:none}
.hero::after{content:"";position:absolute;width:335px;height:335px;border-radius:50%;background:rgba(255,255,255,.14);right:120px;bottom:-250px;z-index:-1;pointer-events:none}
.eyebrow{color:#2a7c4a;font-size:13px;letter-spacing:.22em;font-weight:800}
.hero h1{font-size:clamp(32px,5vw,53px);letter-spacing:.03em;line-height:1.48;margin:18px 0 21px;font-weight:800}
.hero p{max-width:660px;font-size:17px;line-height:2;color:#315e42;margin:0 0 34px;font-weight:500}
.buttons{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:9px;font-weight:800;text-decoration:none;transition:transform .15s,background .15s;box-shadow:0 3px 14px rgba(48,111,69,.07)}
.btn:hover{transform:translateY(-2px)}
.primary{background:#268a4e;color:#fff}
.primary:hover{background:#206f40}
.outline{border:1px solid #347b4d;background:#fff9;color:#286d43}
.sec{padding:76px 0}
.soft{background:var(--pale)}
.kicker{display:block;color:#31935a;font-weight:800;letter-spacing:.18em;font-size:12px;margin-bottom:6px}
.sec h2{font-size:clamp(25px,3vw,34px);margin:0 0 20px;line-height:1.5}
.lead{color:var(--muted);max-width:800px;margin:0 0 26px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:30px}
.card{background:#fff;border:1px solid #dcf0df;border-radius:14px;padding:29px 25px;box-shadow:0 9px 24px rgba(34,107,61,.05)}
.card .num{font-size:12px;color:var(--green);font-weight:800;letter-spacing:.14em}
.card h3{font-size:19px;margin:11px 0;color:#2a563a}
.card p{font-size:14px;color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1.12fr 1fr;gap:50px;align-items:center}
.quote{padding:30px;border-left:4px solid #63c983;background:#eaf8ed;border-radius:0 12px 12px 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--line);padding:14px 7px;text-align:left;vertical-align:top;font-size:14px}
.table th{width:33%;color:#2d8650}
.contact{background:linear-gradient(115deg,#63b979,#469d60);color:#fff;padding:65px 0;text-align:center}
.contact h2{margin:0 0 12px;font-size:30px}
.contact p{color:#f4fff5}
.phonebig{font-size:clamp(30px,5vw,45px);font-weight:800;letter-spacing:.025em;text-decoration:none;display:inline-block;color:#fff;margin:6px 0}
.pill{display:inline-block;background:#fff;color:#2c8a51;padding:12px 28px;border-radius:8px;font-weight:800;text-decoration:none;margin-top:18px}
footer{background:#e9f7ec;color:#477057;padding:24px 0;font-size:12px}
.foot{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.smallnote{font-size:12px;color:var(--muted)}
.pagehero{background:linear-gradient(110deg,#ebf9e8,#bdebc6);padding:58px 0 55px}
.pagehero h1{font-size:clamp(28px,4vw,40px);margin:5px 0;color:#2b583b}
.pagehero p{color:#4b7259}
.placeholder{height:175px;background:linear-gradient(135deg,#d2f0d8,#eef9ec);border:1px dashed #a5d6b3;border-radius:10px;display:grid;place-items:center;color:#598b68;font-weight:700}
.textlink{color:var(--green);font-weight:800}
.note{background:#fff9ec;border-left:4px solid #dab04c;padding:14px 20px;font-size:14px}
.profile h3{margin-bottom:4px}
.profile .role{color:var(--green);font-size:13px;font-weight:800}
.review{border:1px solid var(--line);border-radius:12px;padding:24px;background:white}
.review h3{margin:0 0 8px}
/* LINEは公式ブランドカラーを維持 */
.line-follow{position:fixed;z-index:30;right:20px;bottom:20px;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;box-shadow:0 7px 34px rgba(38,100,55,.19);border:1px solid #cae8d0;border-radius:14px;max-width:calc(100vw - 26px);line-height:1.35}
.line-symbol{background:#06c755;color:#fff;font-size:14px;letter-spacing:-.5px;font-weight:900;border-radius:11px;width:50px;height:50px;display:grid;place-items:center;flex-shrink:0}
.line-follow-text{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.line-follow-text strong{font-size:15px;color:var(--ink)}
.line-follow-text small{font-size:11px;color:#69766d}
.line-follow-action{display:inline-flex;align-items:center;justify-content:center;min-width:104px;border-radius:8px;padding:13px 12px;background:var(--green);color:#fff;text-decoration:none;font-weight:800;font-size:13px;white-space:nowrap}
.line-follow-action.is-line-ready{background:#06c755;color:#fff}
@media(max-width:950px){.navlinks{order:3;width:100%;justify-content:center;gap:28px}.head{padding:12px 25px}.hero{padding:68px 0 75px}}
@media(max-width:780px){.wrap{padding:0 19px}.brandstrong{font-size:15px}.brandsmall{font-size:9px}.mark{width:37px;height:37px}.headphone{font-size:13px}.headphone small{font-size:9px}.hero p{font-size:15px}.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:23px}.sec{padding:55px 0}.contact h2{font-size:26px}.table th{width:30%}}
@media(max-width:600px){body{padding-bottom:100px}.line-follow{left:10px;right:10px;bottom:10px;justify-content:space-between;padding:10px 12px;gap:8px}.line-symbol{width:42px;height:42px;font-size:12px}.line-follow-text strong{font-size:14px}.line-follow-action{min-width:98px;font-size:12px;padding:12px 9px}.hero::before{right:-270px}.hero h1{font-size:30px}.head{gap:5px}.navlinks{gap:25px}.navlinks a{font-size:12px}.brand{gap:7px}.headphone{font-size:12px}}
@media(max-width:400px){.headphone{font-size:11px}.mark{display:none}.wrap{padding:0 17px}.navlinks{gap:17px}}

body.admin-bar .bar{top:32px}.pf-photo{width:100%;height:240px;object-fit:cover;border-radius:10px}.pf-copy{overflow-wrap:anywhere}.pf-copy p{margin:0 0 1em}.pf-empty{padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99999;background:#fff;padding:12px}section[id]{scroll-margin-top:150px}@media(max-width:782px){body.admin-bar .bar{top:46px}}@media(max-width:600px){body.admin-bar .bar{top:0}}

footer .foot{padding-bottom:100px}
/* Handwritten customer questionnaires */
.voice-hero{background:linear-gradient(120deg,#eff9ef,#fff);padding:70px 0 64px}.voice-hero h1{margin-bottom:20px}.voice-hero .voice-intro{font-size:15px;line-height:2;color:#58665b;margin-top:20px}.voice-guide{margin:0 0 48px;text-align:center;color:#536559}.voice-guide p{font-weight:600;margin-bottom:8px}.voice-guide small{font-size:13px}.voice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:54px 30px}.voice-card{text-align:center;min-width:0}.voice-open{display:block;color:inherit;text-decoration:none}.voice-orbit{position:relative;display:block;max-width:230px;margin:0 auto 25px;padding:10px;border:1px solid #c2deca;border-radius:50%;background:#f9fff9;transition:transform .2s,box-shadow .2s}.voice-thumb{display:block;aspect-ratio:1;overflow:hidden;border-radius:50%;background:white}.voice-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(.93)}.voice-arrow{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#329a59;color:#fff;font-size:24px;border:4px solid #eff9ef}.voice-open:hover .voice-orbit,.voice-open:focus-visible .voice-orbit{transform:translateY(-5px);box-shadow:0 12px 25px #215d3320}.voice-open:focus-visible{outline:3px solid #236c3d;outline-offset:7px;border-radius:12px}.voice-date{display:block;color:#64776a;font-size:12px;letter-spacing:.03em;min-height:22px}.voice-card h2{font-size:17px;margin:8px 0 12px;color:#254a32}.voice-read{font-size:12px;color:#237744;border-bottom:1px solid #a5cdb0;padding-bottom:4px}.voice-edit{display:block;margin-top:12px}.voice-privacy{font-size:12px;color:#68766c;text-align:center;margin-top:60px;line-height:1.9}.voice-placeholder{display:grid;place-content:center;height:100%;color:#329a59;font-size:24px;font-weight:bold}.voice-card .pf-copy{margin-top:30px;text-align:left}@media(max-width:960px){.voice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}}@media(max-width:640px){.voice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.voice-hero{padding:44px 0}.voice-orbit{padding:6px;margin-bottom:17px}.voice-arrow{width:35px;height:35px;font-size:20px;right:-2px;bottom:-2px}.voice-card h2{font-size:15px}.voice-date,.voice-read{font-size:11px}.voice-guide{text-align:left;margin-bottom:32px}.voice-guide small{line-height:1.8;display:block}}
/* Staff: warm office photography and illustrated introductions */
.team-hero{padding:62px 0 66px;background:linear-gradient(120deg,#f0f8ef 0%,#fffdf8 100%)}.team-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.team-hero h1{font-size:40px;line-height:1.3;margin:15px 0 30px;color:#254a32}.team-lead{font-size:25px;font-weight:700;line-height:1.8;letter-spacing:.06em;color:#31573b;margin:0 0 20px}.team-hero-copy>p:last-child{font-size:14px;line-height:2.1;color:#617164}.team-office{margin:0;position:relative}.team-office img{display:block;width:100%;height:370px;object-fit:cover;border-radius:90px 12px 90px 12px;box-shadow:16px 16px 0 #dfeddd}.team-office figcaption{text-align:right;font-size:11px;color:#647363;margin-top:29px;letter-spacing:.06em}.team-section{padding:76px 0 90px;background:#f8faf6}.team-section-title{margin-bottom:36px}.team-section-title h2{font-size:26px;color:#254a32;margin:12px 0}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.team-card{min-width:0;background:#fff;border:1px solid #e0e9dd;border-radius:24px;padding:30px;box-shadow:0 6px 20px #244c3010}.team-person{display:flex;align-items:center;gap:25px;margin-bottom:26px}.team-portrait{width:155px;height:175px;flex:0 0 155px;position:relative;display:grid;place-items:center;isolation:isolate}.team-portrait::before{content:'';position:absolute;z-index:-1;width:145px;height:145px;border-radius:50%;background:#edf5e8;bottom:5px}.team-portrait img{width:100%;height:100%;object-fit:contain}.team-role{font-size:12px;color:#438153;letter-spacing:.06em;margin:0 0 10px;font-weight:600}.team-name h3{font-size:24px;color:#254a32;margin:0 0 8px;line-height:1.4;letter-spacing:.08em}.team-kana{font-size:11px;color:#778472;letter-spacing:.07em;margin:0}.team-message h4{font-size:18px;line-height:1.7;color:#31573b;margin:0 0 15px;letter-spacing:.025em}.team-bio{font-size:14px;color:#526155;line-height:2;overflow-wrap:anywhere}.team-bio p{margin:0 0 15px}.team-qualifications{border-top:1px solid #e6ede2;padding-top:16px;margin:21px 0 0;font-size:11px;line-height:1.9;color:#62715d}.team-qualifications span{display:block;color:#3d6b45;font-weight:600;margin-bottom:4px}.team-edit{font-size:11px;margin:20px 0 0}.team-card-lead{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center;padding:36px 42px;background:linear-gradient(115deg,#fff 65%,#f5f9ee)}.team-card-lead .team-person{margin:0;gap:24px}.team-card-lead .team-portrait{width:205px;height:250px;flex-basis:205px}.team-card-lead .team-portrait::before{width:205px;height:205px;bottom:12px}.team-card-lead .team-name h3{font-size:27px}.team-card-lead .team-message h4{font-size:25px}.team-back{margin-top:32px}@media(max-width:1000px){.team-hero-grid{gap:30px}.team-card{padding:24px}.team-person{gap:12px}.team-portrait{width:125px;height:150px;flex-basis:125px}.team-portrait::before{width:120px;height:120px}.team-card-lead{gap:30px}.team-card-lead .team-portrait{width:155px;height:210px;flex-basis:155px}.team-card-lead .team-portrait::before{width:155px;height:155px}.team-card-lead .team-name h3{font-size:24px}}@media(max-width:760px){.team-hero{padding:42px 0 46px}.team-hero-grid{grid-template-columns:1fr;gap:28px}.team-hero h1{font-size:30px;margin:12px 0 21px}.team-lead{font-size:23px}.team-office img{height:255px;border-radius:55px 10px 55px 10px;box-shadow:8px 8px 0 #dfeddd}.team-office figcaption{margin-top:20px}.team-section{padding:45px 0 60px}.team-section-title h2{font-size:22px}.team-grid{grid-template-columns:1fr;gap:22px}.team-card-lead{display:block;padding:26px}.team-card-lead .team-person{margin-bottom:25px}.team-card-lead .team-message h4{font-size:21px}.team-person{gap:22px}.team-portrait{width:135px;height:165px;flex-basis:135px}.team-portrait::before{width:130px;height:130px}.team-card-lead .team-portrait{width:150px;height:190px;flex-basis:150px}.team-name h3{font-size:23px}.team-bio{font-size:14px}}@media(prefers-reduced-motion:reduce){.voice-orbit{transition:none}}

@media(max-width:480px){.team-person,.team-card-lead .team-person{gap:14px}.team-portrait,.team-card-lead .team-portrait{width:105px;height:150px;flex-basis:105px}.team-portrait::before,.team-card-lead .team-portrait::before{width:105px;height:105px}.team-name h3,.team-card-lead .team-name h3{font-size:20px;letter-spacing:.02em;white-space:nowrap}.team-kana{letter-spacing:0}}

.brand .company-mark{display:block;width:44px;height:50px;object-fit:contain;flex-shrink:0}.brand .company-type{display:block;width:230px;height:auto}.footer-brand{padding-top:28px;padding-bottom:15px}@media(max-width:760px){.brand{gap:8px}.brand .company-mark{width:30px;height:35px}.brand .company-type{width:168px}.footer-brand{padding-top:23px}}

/* Photography: a fixed streetscape and an inviting office introduction. */
.neighborhood-scene{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;overflow:hidden;background:#dbe8d5 url('visual-assets/neighborhood.jpg') center 58%/cover no-repeat;border-radius:0 100px 0 100px;margin:24px 24px 0}.neighborhood-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,49,31,.22),transparent 65%);z-index:-1}.neighborhood-inner{padding-top:70px;padding-bottom:70px;width:100%;position:relative;z-index:1}.neighborhood-note{width:min(390px,100%);padding:34px 38px;background:rgba(255,253,246,.94);border:1px solid rgba(255,255,255,.75);border-radius:4px 48px 4px 48px;box-shadow:0 20px 50px #142f2320}.neighborhood-note h2{font-size:29px;line-height:1.8;color:#244c33;margin:18px 0}.neighborhood-note p{font-size:14px;line-height:2;color:#536654;margin:0}.neighborhood-note .kicker{font-size:10px;letter-spacing:.16em}.scene-caption{position:absolute;right:34px;bottom:20px;color:white;font-size:10px;letter-spacing:.08em;background:#203d32a8;padding:5px 10px;border-radius:20px;z-index:2}.neighborhood-scene+.sec{padding-top:78px}
.voice-visual-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 90px;background:linear-gradient(120deg,#f1f8ed 0%,#fcfaf3 100%)}.voice-visual-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center}.voice-visual-copy{position:relative;z-index:1}.voice-visual-hero h1{font-size:40px;color:#254a32;margin:15px 0 26px}.voice-visual-hero .voice-visual-lead{font-size:24px;font-weight:650;line-height:1.8;letter-spacing:.025em;color:#35573e;margin:0 0 20px}.voice-visual-hero .voice-intro{font-size:14px;line-height:2.1;color:#617164;margin:0}.voice-office-scene{margin:0 0 20px;position:relative;z-index:1}.voice-office-scene>img{display:block;width:100%;height:390px;object-fit:cover;object-position:60% center;border-radius:150px 16px 16px 16px;box-shadow:16px 16px 0 #e1eddc}.voice-office-scene figcaption{position:absolute;bottom:-36px;left:-30px;padding:19px 25px;background:#fffefa;display:flex;align-items:center;gap:15px;box-shadow:0 10px 35px #2a4b3014;border-radius:5px 30px 5px 30px;font-size:13px;line-height:1.9;letter-spacing:.05em;color:#4e6754}.voice-office-scene figcaption strong{font-weight:600}.voice-quote-mark{font-family:Georgia,serif;font-size:72px;line-height:.6;color:#76ab73;padding-top:20px}.voice-deco-ring{position:absolute;z-index:-1;left:-110px;bottom:-200px;width:450px;height:450px;border:1px solid #d5e5cf;border-radius:50%}.voice-visual-hero+.sec{position:relative;border-radius:65px 65px 0 0;margin-top:-30px;padding-top:65px}.voice-visual-hero+.sec .voice-guide{max-width:650px;margin-left:auto;margin-right:auto;padding-bottom:25px;border-bottom:1px solid #d5e6d1}
@media(min-width:1001px) and (hover:hover) and (prefers-reduced-motion:no-preference){.neighborhood-scene{background-attachment:fixed}}
@media(max-width:1000px){.voice-visual-grid{gap:32px}.voice-visual-hero .voice-visual-lead{font-size:21px}.voice-office-scene>img{height:360px}.neighborhood-scene{min-height:460px}.neighborhood-note{max-width:355px;padding:28px}.neighborhood-note h2{font-size:26px}}
@media(max-width:760px){.neighborhood-scene{margin:12px 12px 0;min-height:510px;align-items:flex-end;border-radius:0 58px 0 58px;background-position:62% center;background-attachment:scroll}.neighborhood-inner{padding:220px 20px 55px}.neighborhood-note{max-width:310px;padding:22px 25px;background:#fffdf5f0}.neighborhood-note h2{font-size:24px;line-height:1.65;margin:12px 0}.neighborhood-note p{font-size:12px;line-height:1.9}.scene-caption{right:20px;bottom:15px;font-size:9px}.voice-visual-hero{padding:42px 0 82px}.voice-visual-grid{grid-template-columns:1fr;gap:30px}.voice-visual-hero h1{font-size:30px;margin:12px 0 20px}.voice-visual-hero .voice-visual-lead{font-size:21px}.voice-office-scene{margin:0 8px 20px 12px}.voice-office-scene>img{height:270px;border-radius:90px 12px 12px 12px;box-shadow:8px 8px 0 #e1eddc}.voice-office-scene figcaption{left:-12px;bottom:-32px;padding:16px 18px;font-size:12px;gap:12px}.voice-quote-mark{font-size:60px}.voice-visual-hero+.sec{border-radius:35px 35px 0 0;padding-top:44px}.voice-visual-hero+.sec .voice-guide{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.neighborhood-scene{background-attachment:scroll}}

/* Customer voices: full-bleed photographic opening and editorial introduction. */
.voice-family-hero{position:relative;isolation:isolate;min-height:540px;display:flex;align-items:center;overflow:hidden;background:#304b36;color:#fff}.voice-family-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;z-index:-2}.voice-family-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,40,26,.72),rgba(16,40,26,.2) 58%,transparent);z-index:-1}.voice-family-heading{width:100%;padding-top:85px;padding-bottom:100px}.voice-family-heading .kicker{color:#e3edc9;font-size:12px;letter-spacing:.22em}.voice-family-heading h1{color:white;font-size:44px;letter-spacing:.12em;margin:22px 0 30px}.voice-family-heading p{font-size:25px;line-height:1.9;letter-spacing:.08em;margin:0;color:white}.voice-family-index{position:absolute;right:30px;bottom:26px;letter-spacing:.24em;font-size:10px;color:#fff}.voice-story-intro{background:#fffdf7;text-align:center;padding:0 20px 58px}.voice-story-line{display:block;width:1px;height:64px;background:#729d75;margin:0 auto 30px}.voice-story-intro h2{font-size:26px;line-height:1.9;color:#294f37;letter-spacing:.08em;margin:0 0 24px}.voice-story-intro p{font-size:14px;line-height:2.2;color:#617164;margin:0}.voice-story-intro+.sec{padding-top:48px}.voice-story-intro+.sec .voice-guide{border-bottom:1px solid #d5e6d1;padding-bottom:25px;max-width:650px;margin-left:auto;margin-right:auto}@media(max-width:760px){.voice-family-hero{min-height:540px;align-items:flex-end}.voice-family-photo{object-position:90% center}.voice-family-hero::after{background:linear-gradient(0deg,rgba(16,40,26,.88),rgba(16,40,26,.2) 65%,transparent)}.voice-family-heading{padding:260px 24px 62px}.voice-family-heading h1{font-size:32px;margin:14px 0 18px}.voice-family-heading p{font-size:20px;line-height:1.8}.voice-family-heading .kicker{font-size:10px}.voice-family-index{font-size:8px;right:22px;bottom:19px}.voice-story-intro{padding:0 8px 38px}.voice-story-line{height:42px;margin-bottom:24px}.voice-story-intro h2{font-size:20px;letter-spacing:.03em}.voice-story-intro p{font-size:13px}.voice-story-intro p br{display:none}.voice-story-intro+.sec{padding-top:35px}}

/* Progressive enhancement: content stays visible without JavaScript. */
.voice-card.voice-reveal-ready{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--voice-reveal-delay,0ms)}
.voice-card.voice-reveal-pending{opacity:0;transform:translateY(24px)}
.voice-card.voice-reveal-pending:focus-within{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.voice-card.voice-reveal-ready{transition:none}.voice-card.voice-reveal-pending{opacity:1;transform:none}}
@media print{.voice-card.voice-reveal-pending{opacity:1;transform:none}.voice-card.voice-reveal-ready{transition:none}}


/* PDF overlay: native dialog keeps the background inert and traps focus. */
.voice-modal{border:0;padding:0;margin:auto;width:min(1000px,calc(100% - 48px));max-width:none;height:calc(100vh - 64px);height:calc(100dvh - 64px);max-height:none;background:#fffdf7;color:#294f37;border-radius:16px;box-shadow:0 24px 80px #0005;overflow:hidden}
.voice-modal:not([open]){display:none}.voice-modal::backdrop{background:rgba(15,31,22,.72)}
.voice-modal-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.voice-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #d5e6d1;flex-shrink:0}
.voice-modal-header h2{font-size:18px;line-height:1.5;margin:0;letter-spacing:.06em}
.voice-modal-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #b9d2b8;border-radius:50%;background:#fff;color:#294f37;font:30px/1 sans-serif;cursor:pointer;flex-shrink:0}
.voice-modal-close:hover{background:#eff9ef}.voice-modal-close:focus-visible,.voice-modal-external:focus-visible{outline:3px solid #267a46;outline-offset:3px}
.voice-modal-help{font-size:12px;line-height:1.7;margin:0;padding:9px 16px;flex-shrink:0}.voice-modal-external{color:#267a46;text-decoration:underline;text-underline-offset:3px}
.voice-modal-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#e9ece8}
@media(max-width:760px){.voice-modal{width:calc(100% - 16px);height:calc(100vh - 24px);height:calc(100dvh - 24px);border-radius:12px}.voice-modal-header{padding:8px 12px}.voice-modal-header h2{font-size:16px}.voice-modal-help{font-size:11px;padding:8px 12px}}

/* Privacy policy: share the site shell and keep long text comfortable to read. */
.privacy-content{max-width:900px;overflow-wrap:anywhere}
.privacy-content h2{font-size:clamp(20px,3vw,26px);line-height:1.6;margin:42px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line);color:#2b583b}
.privacy-content p{margin:0 0 1.3em}
.privacy-content a,footer .foot a{text-decoration:underline;text-underline-offset:4px}

.voice-modal-close{box-sizing:border-box;line-height:0}.voice-modal-close svg{display:block;width:20px;height:20px;margin:0;pointer-events:none}
