/* Visual direction approved by the user: navy header, orange CTA and photo-led reports. */
@font-face{font-family:'Yoyomaru Brush';src:url('/assets/fonts/yoyomaru-logo.ttf') format('truetype');font-display:swap;font-weight:400;font-style:normal}
:root{--ink:#0b2237;--navy:#081e30;--muted:#566676;--paper:#fff;--orange:#f34d06;--line:#e2e7ec}
.preview{background:#edf0f3;font-size:10px;padding:4px 12px;color:#607082}
.header{background:var(--navy);color:#fff}.header .wrap{min-height:84px}.brand-symbol{display:none}.brand-name{font-family:'Yoyomaru Brush',var(--serif);font-size:42px;letter-spacing:.02em;line-height:1.1;font-weight:400}.brand small{font-family:var(--sans);font-size:9px;letter-spacing:.38em;text-align:center;margin-top:6px;font-weight:500}.nav{gap:29px;font-size:12px}.nav a[aria-current=page]{color:#ff9a69}.nav .button{min-width:155px;min-height:52px;font-weight:600}.button{font-weight:600;min-height:56px;padding:15px 30px}.arrow{font-size:21px}.hero{min-height:510px}.hero .wrap{padding:56px 0 60px;position:relative}.hero-image{object-position:62% center;filter:saturate(.88)}.hero:after{background:linear-gradient(90deg,rgba(3,20,34,.88),rgba(3,20,34,.6) 38%,rgba(3,20,34,.1) 76%),linear-gradient(0deg,rgba(3,20,34,.32),transparent 65%)}.hero .eyebrow{color:#fff;font-weight:500;font-size:10px}.hero h1{font-size:60px;font-weight:700;letter-spacing:.035em;line-height:1.28;margin:26px 0 17px}.hero p{font:19px/1.8 var(--serif);letter-spacing:.03em;max-width:560px}.hero .actions{align-items:center;gap:35px;margin-top:30px}.hero .button{min-width:230px}.hero-link{font-size:13px;font-weight:600;color:white;border-bottom:1px solid #b9c8d4;padding:6px 0;letter-spacing:.03em}.hero-link span{margin-left:18px;font-size:20px}.hero-bottom{font-size:9px;right:48px;bottom:20px}.latest{padding:36px 0 40px;background:#fff}.latest .section-head{margin-bottom:20px;align-items:center}.latest .eyebrow{font-size:10px;color:var(--ink);letter-spacing:.32em}.latest h2{font-size:34px;font-weight:700;letter-spacing:.04em;line-height:1.3;margin:8px 0 0}.latest .section-head .note{color:#435368;font-size:11px;margin:0}.cards{gap:22px}.catch-card{background:transparent;min-width:0}.catch-photo{width:100%;height:auto;aspect-ratio:1.92;object-fit:cover}.catch-card .card-body{padding:14px 0 0}.card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.catch-card .date{color:var(--ink);font-size:11px;letter-spacing:.08em}.catch-card .tag{background:transparent;padding:0;font-size:10px;color:var(--ink)}.catch-card h3{font:700 21px/1.55 var(--serif);margin:5px 0 4px;letter-spacing:.02em}.catch-card p{font-size:13px;color:var(--ink);line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.catch-card .card-bottom{display:none}.all-reports{margin-top:22px;text-align:right}.text-link{border-color:#0b2237;font-weight:500}.schedule-strip{background:#eef1f4;padding:27px 0}.schedule-strip .wrap{display:flex;align-items:center;gap:30px}.schedule-strip .schedule-title{display:flex;align-items:center;gap:18px;flex-shrink:0}.schedule-strip h2{font:700 25px var(--serif);margin:0;letter-spacing:.03em}.schedule-strip p{font-size:12px;margin:0;color:#455669}.schedule-strip .text-link{margin-left:auto;font-size:13px;white-space:nowrap}.line-icon{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.intro{background:white;border-top:1px solid var(--line);padding:65px 0}.intro h2{font-weight:600}.info-card{background:#eef1f4}.reservation-band{background:#0d2b40}.footer{background:#081e30}.footer .brand-name{font-size:38px}.page-head{background:#eef1f4}.page-title{font-weight:600}.panel{background:#eef1f4}.reading h2{font-weight:600}.phone{font-family:var(--sans);font-weight:600}.mobile-call .line-icon{width:20px;height:20px}
@media(min-width:1600px){.hero{min-height:580px}.hero h1{font-size:68px}}
@media(max-width:1080px){.nav{gap:18px}.nav .button{min-width:120px;padding:13px 20px}.hero h1{font-size:53px}.schedule-strip .wrap{gap:20px}.schedule-strip h2{font-size:22px}}
@media(max-width:900px){.nav{gap:13px;font-size:11px}.nav .button{min-width:95px}.header .wrap{gap:20px}.brand-name{font-size:36px}.schedule-strip .wrap{flex-wrap:wrap}.schedule-strip p{order:3;width:100%;margin-left:47px}.schedule-strip .text-link{margin-left:auto}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.preview{font-size:8px;padding:4px 8px}.header .wrap{min-height:80px}.brand-name{font-size:35px}.brand small{font-size:8px;margin-top:3px;letter-spacing:.35em}.menu-toggle{color:#fff;border:0;font-size:23px;padding:8px;line-height:1}.nav{background:var(--navy);border-top:1px solid #ffffff24;gap:10px}.nav a{font-size:14px;padding:10px 0}.nav .button{min-height:48px}.hero{min-height:500px;align-items:flex-start}.hero .wrap{padding:40px 0 42px}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,rgba(3,20,34,.65),rgba(3,20,34,.25)),linear-gradient(0deg,rgba(3,20,34,.78),rgba(3,20,34,.1) 75%)}.hero .eyebrow{font-size:8px;letter-spacing:.2em}.hero h1{font-size:40px;line-height:1.34;font-weight:700;letter-spacing:.015em;margin:20px 0 13px;white-space:nowrap}.hero p{font-size:17px;line-height:1.8;max-width:310px}.hero .actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:26px}.hero .button{min-width:220px;min-height:50px;padding:12px 22px;font-size:13px;gap:22px}.hero-link{font-size:12px;padding:3px 0}.hero-link span{font-size:17px}.latest{padding:26px 0 30px}.latest h2{font-size:27px;margin-top:5px}.latest .eyebrow{font-size:8px;letter-spacing:.3em}.latest .section-head{align-items:end;gap:12px;margin-bottom:19px}.latest .section-head .note{font-size:9px;max-width:120px;text-align:right;line-height:1.6}.cards{grid-template-columns:1fr;gap:29px}.catch-card{display:block;min-height:0}.catch-photo{height:auto;min-height:0;aspect-ratio:1.65}.catch-card .card-body{padding:11px 0 0}.catch-card .date{font-size:10px}.catch-card .tag{font-size:10px}.catch-card h3{font-size:21px;line-height:1.5;margin:4px 0}.catch-card p{font-size:13px;line-height:1.85}.all-reports{margin-top:26px;text-align:center}.schedule-strip{padding:24px 0}.schedule-strip .wrap{gap:14px}.schedule-strip .schedule-title{gap:13px}.schedule-strip h2{font-size:21px}.schedule-strip .line-icon{width:24px;height:24px}.schedule-strip p{order:2;margin:0;width:100%;font-size:11px}.schedule-strip .text-link{order:3;margin-left:0;margin-top:3px;font-size:12px}.intro{padding:42px 0}.mobile-call{grid-template-columns:1fr 1fr}.mobile-call a{background:var(--navy);color:white;display:flex;justify-content:center;align-items:center;gap:10px;padding:17px 10px;font-size:12px;font-weight:600;min-height:58px}.mobile-call a:last-child{background:var(--orange)}.footer .brand-name{font-size:34px}}
.mobile-break{display:none}
@media(max-width:1000px){.header .wrap{position:relative}.menu-toggle{display:block;color:#fff;border:0;background:transparent;font-size:23px;padding:8px;line-height:1}.nav{display:none;position:absolute;top:100%;left:-28px;right:-28px;z-index:10;background:var(--navy);border-top:1px solid #ffffff24;padding:20px 26px;flex-direction:column;align-items:stretch;gap:10px}.nav.open{display:flex}.nav a{font-size:14px;padding:10px 0}.nav .button{min-height:48px}}
@media(max-width:760px){.mobile-break{display:inline}.nav{left:-20px;right:-20px}}
@media(max-width:360px){.hero h1{font-size:36px}.latest .section-head .note{max-width:95px}.header .wrap{min-height:74px}}

.service-features{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:28px 0 0;padding:0}.service-features li{display:flex;align-items:center;gap:9px;background:#eef1f4;border-radius:4px;padding:10px 13px;font-size:12px;line-height:1.6;color:var(--navy)}.service-features li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0}@media(max-width:760px){.service-features{display:grid;grid-template-columns:1fr;margin-top:24px;gap:8px}.service-features li{padding:11px 15px;font-size:12px}}
