:root{--ink:#253e35;--accent:#285e50;--soft:#edf5ef;--muted:#5f7169;--line:#d8e4dc;--radius:12px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color-scheme:light;background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-size:16px;line-height:1.85}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #d2a134;outline-offset:4px}.wrap{width:min(1120px,calc(100% - 64px));margin:auto}[hidden]{display:none!important}
.demo-note{padding:8px 20px;background:#f2f5f3;text-align:center;border-bottom:1px solid var(--line);color:#5d6c64;font-size:11px}.demo-note a{text-decoration:underline;margin-right:12px}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand svg{width:36px;height:36px;color:var(--accent)}.brand strong{font-size:24px;letter-spacing:.09em;display:block;line-height:1.4}.brand small{font-size:10px;display:block;color:var(--muted);letter-spacing:.04em}.nav{display:flex;align-items:center;gap:26px;font-size:14px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:8px;min-height:58px;padding:14px 22px;font-size:16px;line-height:1.5;font-weight:600}.button:hover{background:var(--ink)}.button.outline{background:white;color:var(--accent)}.button.outline:hover{background:var(--soft)}.button.small{font-size:14px;min-height:48px;padding:12px 18px}.button .icon{width:22px;height:22px}.button.line{background:#06c755;color:#fff;border-color:#06c755;gap:12px;min-height:64px;padding:11px 18px}.button.line:hover{background:#06c755;filter:none;transform:none}.line-icon{width:40px;height:40px;flex:0 0 40px;object-fit:contain;filter:none;transform:none}.eyebrow{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:.06em}
.hero{background:var(--soft)}.hero-inner{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'copy photo' 'contact photo';gap:0 52px;padding:42px 0}.hero-copy{grid-area:copy;align-self:end;padding-top:15px}.hero h1{font-size:clamp(34px,4.1vw,52px);line-height:1.6;letter-spacing:.05em;margin:12px 0 20px;font-weight:600}.hero-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:2}.hero-image{grid-area:photo;position:relative;overflow:hidden;height:490px;align-self:center}.hero-image img{height:100%;object-position:56% center}.hero-image figcaption{position:absolute;bottom:18px;right:18px;padding:6px 12px;background:#ffffffed;font-size:11px;color:var(--ink)}.hero-contact{grid-area:contact;align-self:start}.hero-actions{display:flex;align-items:stretch;gap:12px;margin-top:26px}.hero-actions .button{flex:1}.hero-meta{font-size:11px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 6px}.hero-meta span+span{border-left:1px solid var(--line);padding-left:12px}.community .hero h1{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif}.community .hero-image{border-radius:64px 0 0 0}.community .button{border-radius:12px}.community .hero-image figcaption{border-radius:6px}.quick-strip{display:grid;grid-template-columns:repeat(3,1fr);width:min(1120px,100%);margin:auto;padding:25px 0;border-bottom:1px solid var(--line);text-align:center}.quick-strip div{border-right:1px solid var(--line);padding:0 12px;font-size:14px}.quick-strip div:last-child{border:0}.quick-strip span{display:block;font-size:11px;color:var(--muted)}
.section{padding:78px 0}.section h2{font-size:29px;letter-spacing:.04em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-head p{font-size:14px;color:var(--muted);margin-top:8px}.section-head .sub{color:var(--accent);font-size:12px;margin:0 0 7px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.intro-grid img{height:350px;border-radius:var(--radius)}.intro-grid figcaption{font-size:11px;color:var(--muted);margin-top:8px}.intro-grid h2{margin:10px 0 20px}.intro-grid p{font-size:15px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);border-bottom:1px solid var(--accent);font-size:14px;margin-top:17px}.services{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{background:white;overflow:hidden;border-radius:var(--radius)}.service-card>img{height:220px}.service-copy{padding:25px}.service-copy>span{color:var(--accent);font-size:12px}.service-copy h3{font-size:24px;margin:4px 0 14px}.service-copy p{font-size:14px;color:var(--muted);line-height:1.9}.price{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px;color:var(--muted)}.price b{font-size:28px;font-weight:600;color:var(--ink)}.price .unit{font-size:14px;margin-left:5px}.service-copy button{width:100%;margin-top:18px;padding:12px 16px;background:white;border:1px solid var(--accent);color:var(--accent);border-radius:7px;min-height:52px;font-size:15px;font-weight:600}.fineprint{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px}.fee-details{margin-top:28px;border:1px solid var(--line);background:white;border-radius:7px}.fee-details summary{font-size:15px;font-weight:600;padding:18px 20px;min-height:56px}.fee-list{padding:0 20px 20px}.fee-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.fee-list span{color:var(--muted)}.first-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.first-step{border-top:2px solid var(--accent);padding-top:22px}.first-step>span{font-size:12px;color:var(--accent)}.first-step h3{font-size:21px;margin:8px 0 12px}.first-step p{font-size:14px;color:var(--muted)}.faq{padding-top:0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 2px;font-size:16px;min-height:64px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'＋';font-size:22px;color:var(--accent);flex-shrink:0}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;color:var(--muted);padding:0 2px 23px}
.access{background:var(--soft)}.access> .wrap{max-width:900px}.access h2{margin:8px 0 13px}.access-intro{font-size:15px;color:var(--muted);margin-bottom:25px}.map-panel{overflow:hidden;background:#e7ede8}.map-panel iframe{display:block;width:100%;height:340px;border:0}.address-block{padding:23px 0 32px}.address-block strong{font-size:22px}.address-block p{font-size:15px;color:var(--muted);margin:6px 0 20px}.map-link{width:100%;min-height:58px}.route-guide{padding-top:24px;border-top:1px solid var(--line)}.route-guide h3,.hours h3{font-size:24px}.route-notice{font-size:12px;line-height:1.85;color:var(--muted);margin:10px 0 22px}.route-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.route-photo{aspect-ratio:1.6;background:#e9eeea;border:1px dashed #b8c7bd;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#52665b;gap:5px}.route-photo svg{width:42px;height:36px;margin-bottom:3px}.route-photo strong{font-size:14px;font-weight:500}.route-photo>span{font-size:10px;color:#718077}.route-list figcaption{display:flex;gap:12px;padding:17px 0 24px}.step-number{color:var(--accent);width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:14px}.route-list h4{font-size:17px;font-weight:600}.route-list p{font-size:13px;color:var(--muted);margin-top:6px}.hours{margin-top:32px;border-top:1px solid var(--line);padding-top:28px}.schedule{width:100%;border-collapse:collapse;font-size:13px;text-align:center;margin:15px 0}.schedule th,.schedule td{border-bottom:1px solid var(--line);padding:13px 7px;white-space:nowrap}.schedule th{font-weight:500}.schedule th:first-child{text-align:left}.schedule thead{color:var(--accent)}.access-foot{font-size:11px;line-height:1.8;color:var(--muted)}.call-number{display:block;font-size:26px;letter-spacing:.06em;color:var(--accent);font-weight:600;margin-top:20px}.booking-banner{padding:58px 24px;text-align:center;background:white}.booking-banner h2{font-size:27px}.booking-banner p{font-size:14px;color:var(--muted);margin-top:12px}.booking-banner .hero-actions{max-width:560px;margin:24px auto 0}.booking-banner small{display:block;font-size:11px;color:var(--muted);margin-top:20px}.footer{border-top:1px solid var(--line);padding:30px 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer .brand strong{font-size:20px}.footer p{font-size:11px;color:var(--muted);max-width:620px}.mobile-actions{display:none}
.dialog{width:min(530px,calc(100% - 24px));max-height:88dvh;border:0;border-radius:14px;padding:27px;color:var(--ink);box-shadow:0 18px 70px #142b2440}.dialog::backdrop{background:#172b2477}.dialog-close{float:right;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--soft);font-size:25px}.dialog h2{font-size:25px;margin:8px 40px 10px 0}.dialog .tag{font-size:11px;color:var(--accent)}.dialog .notice{font-size:12px;color:var(--muted);background:var(--soft);padding:13px 15px;margin:18px 0 22px}.field{margin:18px 0}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.field select{width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:white;font-size:14px}.date-options,.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.choice{min-height:50px;border:1px solid var(--line);background:white;border-radius:5px;padding:10px 4px;font-size:13px}.choice[aria-pressed=true]{border:2px solid var(--accent);color:var(--accent);background:var(--soft);padding:9px 3px}.dialog .full{width:100%;margin-top:18px}.dialog .back{display:block;margin:12px auto 0;padding:10px;border:0;background:none;text-decoration:underline;font-size:14px;min-height:44px}.confirm-list{background:var(--soft);padding:18px;margin:20px 0}.confirm-list p{font-size:14px;margin:7px 0}.success-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--accent);font-size:28px;margin:18px 0}.chat-demo{background:#edf4ee;border-radius:8px;padding:20px}.chat-demo strong{font-size:15px;display:block;margin-bottom:16px}.chat-demo p{background:white;padding:16px;border-radius:4px 12px 12px;font-size:14px}.chat-demo .button{width:100%;margin-top:18px}

/* Three layouts share the same copy. */
.hero{background:white}.hero-inner{position:relative;width:min(1120px,100%);display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'intro photo' 'lead photo' 'contact photo' 'quick quick';gap:0 40px;padding:40px 0}.hero-intro{grid-area:intro;align-self:end}.hero-lead{grid-area:lead;align-self:start;font-size:15px;color:var(--muted);line-height:2}.hero-media{grid-area:photo;position:relative;min-width:0;overflow:hidden}.hero-media img{height:100%;width:100%;object-fit:cover}.hero-primary{min-height:0}.hero-secondary{min-height:0}.hero-contact{grid-area:contact}.hero h1{margin:14px 0 18px;font-size:46px}.quick-menu{grid-area:quick;display:flex;gap:1px;margin-top:28px;border:1px solid var(--line);background:var(--line)}.quick-menu a{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px 5px;background:white;font-size:14px;font-weight:600;text-align:center;line-height:1.6}.quick-menu a:hover{background:var(--soft)}
.community .hero-inner{grid-template-areas:'cover cover' 'lead contact' 'quick quick';gap:0 35px;padding:0}.community .hero-media{grid-area:cover;height:580px}.community .hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(23,43,34,.65) 100%)}.community .hero-intro{grid-area:cover;z-index:1;align-self:end;padding:38px;color:white}.community .hero-intro .eyebrow{color:white}.community .hero h1{font-size:52px;line-height:1.65;margin-bottom:0;font-weight:600}.community .hero-primary{object-position:58% 38%}.community .hero-lead{padding:32px 0 0 30px}.community .hero-contact{padding:0 30px 20px 0}.community .quick-menu{margin:0}.community .service-copy{position:relative;margin:-25px 16px 0;background:white;border-radius:16px 16px 0 0;padding:25px 16px}.community .service-card{background:transparent;overflow:visible}.community .service-card>img{border-radius:12px;width:100%;height:260px}
.premium{--ink:#493e36;--accent:#755739;--soft:#f7f4ef;--muted:#786d62;--line:#e6ded4;--radius:0}.premium .brand strong,.premium h1,.premium h2,.premium h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500}.premium .button{border-radius:0}.premium .hero-inner{grid-template-columns:1fr 160px 1fr;grid-template-areas:'photo intro lead' 'photo intro contact' 'quick quick quick';padding:44px 25px;gap:0 32px}.premium .hero-intro{align-self:start;display:flex;flex-direction:row-reverse;justify-content:center;gap:18px;padding-top:10px}.premium .hero-intro .eyebrow{writing-mode:vertical-rl;letter-spacing:.22em;font-size:11px;font-weight:400}.premium .hero h1{writing-mode:vertical-rl;text-orientation:mixed;font-size:35px;line-height:1.85;letter-spacing:.16em;margin:0;font-weight:400}.premium .hero-media{display:grid;grid-template-rows:300px 130px;gap:24px;overflow:visible}.premium .hero-primary{object-position:52% center}.premium .hero-secondary{width:64%;justify-self:end;object-position:center}.premium .hero-lead{align-self:center;font-size:14px;line-height:2.2}.premium .hero-actions{flex-direction:column}.premium .hero-meta{line-height:2.2}.premium .quick-menu{margin-top:38px;border-left:0;border-right:0}.premium .intro-grid{gap:70px}.premium .intro-grid figure{order:2}.premium .intro-grid img{height:480px;border-radius:0}.premium .services{background:white}.premium .service-grid{display:block}.premium .service-card{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:72px;background:transparent;border-radius:0}.premium .service-card>img{height:400px}.premium .service-card:nth-child(2)>img{order:2}.premium .service-copy{padding:0 25px}.premium .section{padding-top:90px;padding-bottom:90px}.premium .first-grid{gap:50px}.premium .first-step{border-top:1px solid var(--line)}.premium .faq{padding-top:0}
.modern{--ink:#193f62;--accent:#1761ad;--soft:#eef5fc;--muted:#5e758a;--line:#d8e5ee;--radius:4px}.modern .hero-inner{grid-template-areas:'intro photo' 'lead photo' 'quick photo' 'contact photo';gap:0 35px;padding:32px 0}.modern .hero-intro{align-self:start}.modern .hero h1{font-weight:700;line-height:1.45;letter-spacing:.01em;margin-top:10px}.modern .hero-media{display:grid;grid-template-columns:1.65fr 1fr;gap:4px;height:440px}.modern .hero-primary{object-position:55% center}.modern .hero-secondary{object-position:65% center}.modern .quick-menu{margin-top:22px;background:none;border:0;gap:8px}.modern .quick-menu a{border-bottom:2px solid var(--accent);background:var(--soft)}.modern .hero-contact{padding-bottom:0}.modern .hero-actions{margin-top:20px}.modern .services{background:#f5f8fc}.modern .service-grid{display:block}.modern .service-card{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.modern .service-card>img{height:100%;min-height:220px}.modern .service-copy{padding:0}.modern .service-copy p{line-height:1.8}.modern .service-copy h3{margin-top:0}.modern .first{background:var(--soft)}.modern .first-step{border-top:0;border-left:3px solid var(--accent);padding:0 0 0 20px}.modern .faq{padding-top:60px}.modern .section{padding-top:56px;padding-bottom:56px}.modern .intro-grid img{border-radius:0}.modern .fee-details{border-radius:0}
@media(max-width:1100px) and (min-width:701px){.hero-inner{width:calc(100% - 40px)}.premium .hero-inner{grid-template-columns:1fr 130px 1fr;gap:0 15px}.premium .hero h1{font-size:29px}.premium .hero-actions{gap:8px}.hero h1{font-size:37px}.nav{gap:15px}.nav>a{font-size:12px}}
@media(max-width:700px){
 html{scroll-padding-top:76px}body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.brand{gap:8px}.brand svg{width:31px;height:31px}.brand strong{font-size:22px}.brand small{font-size:8px}.nav>a,.nav>.button{display:none}.menu-toggle{display:block;padding:10px 13px;border:1px solid var(--line);border-radius:4px;min-height:44px;background:white;font-size:12px}.nav.open{position:absolute;left:0;right:0;top:72px;display:flex;flex-direction:column;background:white;padding:16px 20px 22px;border-bottom:1px solid var(--line);gap:4px}.nav.open>a,.nav.open>.button{display:flex;width:100%;justify-content:center;padding:12px;min-height:48px}.nav.open .menu-toggle{position:absolute;top:-58px;right:20px}.button{font-size:16px;min-height:58px;padding:15px 18px}.button.line{min-height:64px}.hero-actions{display:flex;flex-direction:column;gap:10px;margin-top:0}.hero-actions .button{flex:auto;width:100%}.hero-contact .hero-actions{display:flex}.hero-meta{font-size:10px;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:16px}.hero-meta span+span{padding-left:9px}.hero-intro .eyebrow{font-size:11px}.hero-lead{font-size:14px;line-height:2}.quick-menu{gap:0}.quick-menu a{font-size:12px;min-height:64px;padding:12px 6px}.quick-strip{padding:20px 8px}.quick-strip div{font-size:11px;padding:0 6px}.quick-strip span{font-size:9px;margin-bottom:4px}
 .section,.premium .section,.modern .section{padding:52px 0}.section h2{font-size:26px}.section-head{display:block;margin-bottom:28px}.section-head p{font-size:13px}.section-head .sub{font-size:11px}.intro-grid,.premium .intro-grid{display:flex;flex-direction:column;gap:28px}.intro-grid figure{width:calc(100% + 40px);margin:0 -20px;order:0}.intro-grid img{height:270px;border-radius:0}.intro-grid h2{font-size:26px;margin:10px 0 18px}.intro-grid p{font-size:14px;line-height:2}.text-link{font-size:14px;min-height:48px}.service-grid{display:flex;flex-direction:column;gap:38px;margin:0 -20px}.service-card{border-radius:0}.service-card>img{height:255px}.service-copy h3{font-size:26px;margin-top:5px}.service-copy p{font-size:14px;line-height:2}.service-copy>span{font-size:11px}.service-copy button{font-size:15px;min-height:56px}.price{font-size:12px;margin-top:18px}.price b{font-size:29px}.fineprint{font-size:11px}.fee-details summary{font-size:15px;padding:17px 16px;min-height:56px}.fee-list{padding:0 16px 18px}.fee-list div{font-size:12px}.first-grid{display:flex;flex-direction:column;gap:28px}.first-step{padding-top:18px}.first-step h3{font-size:21px}.first-step p{font-size:14px}.faq-list summary{font-size:15px;padding:20px 0;min-height:64px}.faq-list details p{font-size:14px}.access h2{font-size:27px}.access-intro{font-size:14px;line-height:1.85}.map-panel{margin:0 -20px}.map-panel iframe{height:290px;min-width:200px}.address-block{padding:24px 0 30px}.address-block strong{font-size:22px}.address-block p{font-size:15px}.map-link{font-size:15px;gap:12px;padding:14px 12px}.route-guide h3,.hours h3{font-size:23px}.route-notice{font-size:12px;margin-bottom:25px}.route-list{display:flex;flex-direction:column;gap:15px;margin:0 -20px}.route-photo{aspect-ratio:1.75;border-left:0;border-right:0;gap:7px}.route-photo svg{width:46px;height:40px}.route-photo strong{font-size:16px}.route-photo>span{font-size:11px}.route-list figcaption{padding:18px 20px 22px;gap:12px}.route-list h4{font-size:18px}.route-list p{font-size:14px;line-height:1.9}.step-number{width:32px;height:32px}.hours{margin-top:16px;padding-top:26px}.schedule{font-size:11px;margin:18px 0 12px}.schedule th,.schedule td{padding:13px 3px}.schedule th:first-child{font-size:10px}.access-foot{font-size:11px}.booking-banner{padding:44px 20px}.booking-banner h2{font-size:23px}.booking-banner p{font-size:14px}.footer{padding:28px 0 114px}.footer-top{display:block}.footer p{font-size:11px;margin-top:20px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;gap:9px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line)}.mobile-actions>.button:first-child{flex:0 0 34%;padding:12px 6px;font-size:15px;min-height:64px}.mobile-actions>.line{flex:1;gap:10px;padding:11px 10px;font-size:15px;white-space:nowrap}.dialog{padding:23px 18px;max-height:90dvh}.dialog h2{font-size:23px}.dialog .notice{font-size:11px}.choice{font-size:12px}.field select{font-size:13px}
 /* A: one large photo, with the heading directly on it. */
 .community .hero-inner{width:100%;grid-template-columns:1fr;grid-template-areas:'cover' 'lead' 'contact' 'quick';gap:0;padding:0}.community .hero-media{height:470px}.community .hero-intro{padding:24px 24px 30px}.community .hero h1{font-size:41px;line-height:1.55;letter-spacing:.025em;margin-top:10px}.community .hero-lead{padding:26px 24px 23px}.community .hero-contact{padding:0 20px 25px}.community .quick-menu{margin:0 20px 24px;border-radius:10px;overflow:hidden}.community .quick-menu a{border-right:1px solid var(--line)}.community .quick-menu a:last-child{border:0}.community .service-card>img{height:280px;border-radius:0}.community .service-copy{margin:-28px 20px 0;padding:24px 20px 30px;border-radius:18px 18px 0 0}.community .service-copy h3{font-size:28px}.community .first-step{background:var(--soft);border:0;border-radius:14px;padding:22px}
 /* B: vertical type and two differently sized photographs. */
 .premium .header-inner{height:90px;justify-content:center}.premium .brand svg{display:none}.premium .brand{text-align:center}.premium .brand strong{font-size:24px}.premium .brand small{letter-spacing:.16em}.premium .nav>.menu-toggle{position:absolute;right:16px;top:23px;min-height:42px;padding:8px;font-size:10px}.premium .nav.open{top:90px}.premium .nav.open .menu-toggle{top:-67px}.premium .hero-inner{width:100%;grid-template-columns:minmax(0,1fr) 132px;grid-template-areas:'photo intro' 'lead lead' 'contact contact' 'quick quick';gap:0;padding:24px 0 0}.premium .hero-intro{padding:12px 10px 0;gap:9px;justify-content:flex-start}.premium .hero h1{font-size:30px;line-height:1.72;letter-spacing:.14em;margin:0}.premium .hero-intro .eyebrow{font-size:9px;letter-spacing:.2em}.premium .hero-media{grid-template-rows:258px 115px;gap:20px;height:auto;margin:0;overflow:visible}.premium .hero-secondary{width:68%;justify-self:end}.premium .hero-lead{padding:31px 26px 24px;font-size:13px;line-height:2.2}.premium .hero-contact{padding:0 26px 20px}.premium .quick-menu{margin:4px 26px 0}.premium .quick-menu a{font-size:11px;background:white}.premium .section{padding:72px 0}.premium .intro-grid{gap:28px}.premium .intro-grid>div{order:0;padding:0 8px}.premium .intro-grid figure{order:1;width:82%;align-self:flex-end;margin:0 -20px 0 0}.premium .intro-grid img{height:340px}.premium .intro-grid h2{font-size:27px;line-height:1.9}.premium .service-grid{margin:0 -20px;display:block}.premium .service-card{display:flex;flex-direction:column;gap:0;margin-bottom:52px;align-items:stretch}.premium .service-card>img{width:83%;height:330px;align-self:flex-start;order:0}.premium .service-card:nth-child(2)>img{align-self:flex-end;order:0}.premium .service-copy{padding:24px 30px 0}.premium .service-copy h3{font-size:29px;margin-bottom:18px}.premium .service-copy button{border-radius:0}.premium .first-step{padding:21px 0 0;background:white}.premium .faq{padding-top:0}.premium .route-photo{aspect-ratio:1.35}.premium .booking-banner{padding-top:68px;padding-bottom:68px}.premium .mobile-actions{gap:0;padding:0}.premium .mobile-actions>.button{border-radius:0;border:0;min-height:76px!important}
 /* C: compact introduction, a full-width photo pair, then menu links. */
 .modern .header-inner{height:64px}.modern .brand strong{font-size:21px}.modern .brand svg{width:27px;height:27px}.modern .nav.open{top:64px}.modern .nav.open .menu-toggle{top:-54px}.modern .hero-inner{width:100%;grid-template-columns:1fr;grid-template-areas:'intro' 'lead' 'photo' 'quick' 'contact';padding:0;gap:0}.modern .hero-intro{padding:25px 20px 0}.modern .hero h1{font-size:38px;line-height:1.4;margin:10px 0 15px;font-weight:700}.modern .hero-lead{padding:0 20px 24px;font-size:13px;line-height:1.9}.modern .hero-media{grid-template-columns:1.6fr 1fr;height:205px;gap:4px}.modern .hero-primary{object-position:55% center}.modern .hero-secondary{object-position:65% center}.modern .quick-menu{margin:0;padding:0;gap:0}.modern .quick-menu a{min-height:62px;border-right:1px solid #d8e5ee;background:var(--soft);border-bottom:3px solid var(--accent);font-size:12px}.modern .hero-contact{padding:22px 20px 25px}.modern .hero-actions{margin:0;flex-direction:column}.modern .quick-strip{background:var(--soft)}.modern .services{padding-top:40px}.modern .section-head{margin-bottom:18px}.modern .section-head .text-link{margin-top:10px}.modern .service-grid{margin:0;display:block}.modern .service-card{grid-template-columns:106px minmax(0,1fr);gap:16px;margin:0;padding:24px 0}.modern .service-card>img{width:106px;height:150px;min-height:0;object-position:center;align-self:start}.modern .service-copy h3{font-size:21px;line-height:1.5;margin-top:3px;margin-bottom:10px}.modern .service-copy>span{font-size:10px}.modern .service-copy p{font-size:13px;line-height:1.85}.modern .price{font-size:10px;margin-top:12px;padding-top:12px}.modern .price b{font-size:25px}.modern .service-copy button{font-size:12px;min-height:54px;padding:10px 4px;margin-top:13px;border-radius:3px}.modern .intro-grid{display:flex;flex-direction:column}.modern .intro-grid figure{width:100%;margin:0}.modern .intro-grid img{height:220px}.modern .first-step{border-left:3px solid var(--accent);padding:0 0 0 18px}.modern .faq{padding-top:40px}.modern .route-photo{aspect-ratio:2.15}.modern .mobile-actions{border-top:3px solid var(--accent);padding:8px;gap:8px}.modern .mobile-actions .button{border-radius:3px}
}
@media(max-width:359px){.brand strong{font-size:20px}.brand svg{width:27px;height:27px}.brand small{font-size:7px}.menu-toggle{padding:9px 10px}.premium .brand strong{font-size:21px}.premium .brand{margin-left:-20px}.community .hero h1{font-size:37px}.premium .hero-inner{grid-template-columns:minmax(0,1fr) 118px}.premium .hero h1{font-size:28px}.modern .hero h1{font-size:34px}.mobile-actions>.line{font-size:14px;gap:8px}.mobile-actions>.button:first-child{flex-basis:32%;font-size:14px}.schedule th,.schedule td{padding-inline:2px}.modern .service-card{grid-template-columns:90px minmax(0,1fr);gap:12px}.modern .service-card>img{width:90px}.modern .service-copy h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.fee-trigger{font:inherit;background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer;color:var(--accent);padding:8px 0;min-height:48px;text-align:left}.service-copy .menu-fee{width:auto;display:inline-block;margin-top:16px;padding:8px 0;border:0;border-bottom:1px solid currentColor;border-radius:0;background:none;font-size:15px;font-weight:500;min-height:48px}.fee-dialog .fee-list{padding:10px 0}.fee-dialog .fee-list>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 0;font-size:15px}.fee-dialog .fee-list span{font-size:17px}.fee-dialog .fee-list b{font-weight:500}.fee-dialog .fineprint{font-size:12px;line-height:1.9}
@media(max-width:700px){.brand strong{font-size:24px}.modern .brand strong{font-size:23px}.hero-intro .eyebrow{font-size:12px}.hero-lead,.community .hero-lead{font-size:16px}.premium .hero-lead,.modern .hero-lead{font-size:15px}.community .hero h1{font-size:43px}.premium .hero h1{font-size:32px}.modern .hero h1{font-size:40px}.intro-grid p,.service-copy p,.first-step p,.faq-list details p{font-size:16px}.modern .service-copy p{font-size:15px}.service-copy>span,.modern .service-copy>span{font-size:12px}.modern .service-copy h3{font-size:23px}.section-head p{font-size:15px}.section-head .sub{font-size:12px}.quick-menu a,.premium .quick-menu a,.modern .quick-menu a{font-size:13px}.button{font-size:17px}.mobile-actions>.button:first-child,.mobile-actions>.line{font-size:16px}.text-link,.service-copy .menu-fee{font-size:16px}.modern .service-copy button{font-size:14px}.faq-list summary{font-size:17px}.address-block p,.access-intro,.route-list p{font-size:16px}.route-list h4{font-size:20px}.access-foot{font-size:12px}.hero-meta{font-size:11px}.quick-strip div{font-size:12px}.quick-strip span{font-size:10px}.premium .hero-actions{gap:10px}}
@media(max-width:359px){.brand strong{font-size:21px}.modern .brand strong{font-size:21px}.community .hero h1{font-size:38px}.modern .hero h1{font-size:35px}.premium .hero h1{font-size:28px}.modern .service-copy h3{font-size:20px}.mobile-actions>.line{font-size:14px}.mobile-actions>.button:first-child{font-size:14px}}
