
:root{--navy:#071b46;--gold:#ffcf08;--cream:#fff9ee;--ink:#17213b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}button{cursor:pointer}.top{position:sticky;top:0;z-index:50;background:var(--navy);color:white;box-shadow:0 4px 24px #0002}.head{max-width:1250px;margin:auto;display:flex;align-items:center;gap:24px;padding:9px 20px}.brand img{width:145px;max-height:65px;object-fit:contain}.links{display:flex;gap:20px;align-items:center;margin-left:auto}.links a:hover,.footer a:hover{color:var(--gold)}.lang{border:1px solid #ffffff60;padding:6px 10px;border-radius:30px}.hamb{display:none;background:none;border:0;color:white;font-size:27px;margin-left:auto}.hero{position:relative;background:var(--navy);color:white}.slides{height:clamp(360px,55vw,650px);position:relative;overflow:hidden}.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.slides img.active{opacity:1}.hero-text{position:absolute;left:max(5%,calc((100vw - 1150px)/2));bottom:35px;z-index:2;background:#071b46df;padding:22px 30px;border-left:7px solid var(--gold);max-width:650px;border-radius:8px}.hero-text h1{font-size:clamp(30px,4.5vw,58px);line-height:1.1;margin:0 0 10px}.hero-text p{margin:0}.wrap{max-width:1200px;margin:auto;padding:62px 20px}.eyebrow{color:#9c7200;text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800}.wrap h1,.wrap h2{line-height:1.18;color:var(--navy)}h2{font-size:clamp(26px,3.5vw,40px)}.intro{font-size:18px;max-width:850px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #071b4612;border:1px solid #eee4d4}.card img{width:100%;height:230px;object-fit:cover}.card .pad{padding:20px}.card h3{margin:0 0 7px;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);border:0;border-radius:40px;padding:12px 22px;font-weight:800;margin-top:10px}.btn:hover{filter:brightness(.95)}.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.split img{border-radius:20px;width:100%;object-fit:cover}.section-dark{background:var(--navy);color:white}.section-dark h2{color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery img{width:100%;height:260px;object-fit:cover;border-radius:12px;cursor:zoom-in}.footer{background:#071633;color:white;padding:48px 20px 100px}.footinner{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footinner img{width:170px}.footer a{display:block;margin:6px 0}.bottom{display:none}.crumb{font-size:13px;color:#65718b;margin-bottom:20px}.branchlist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.branchlist .card{padding:20px}.branchlist h3{margin:0}.branchlist small{color:#5e6880}.faq details{border-bottom:1px solid #d8d0c3;padding:16px 0}.faq summary{cursor:pointer;font-weight:750}.menu-table{width:100%;border-collapse:collapse;margin:18px 0 40px}.menu-table th,.menu-table td{text-align:left;border-bottom:1px solid #e1d9c9;padding:10px}.menu-table th{background:#fff0b4}.menu-table td:last-child{text-align:right;white-space:nowrap}.flip-area{background:linear-gradient(135deg,#071b46,#123b79);border-radius:24px;padding:25px 15px;color:white;text-align:center}.flip-stage{perspective:1600px;display:flex;justify-content:center;align-items:center;min-height:440px}.book{display:flex;justify-content:center;align-items:center;gap:2px;filter:drop-shadow(0 14px 15px #0008);max-width:100%}.book img{width:min(35vw,380px);max-height:560px;object-fit:contain;background:white;transition:transform .6s,opacity .6s;transform-origin:left center;backface-visibility:hidden}.book img:first-child{border-radius:4px 0 0 4px}.book img:last-child{border-radius:0 4px 4px 0}.book.turn-next img:last-child{transform:rotateY(-80deg);opacity:.3}.book.turn-prev img:first-child{transform:rotateY(80deg);opacity:.3}.fliptools{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin:15px}.fliptools button,.fliptools select{background:white;color:var(--navy);border:0;border-radius:30px;padding:9px 15px}.fliptools button:disabled{opacity:.4}.flip-area p{color:#dce6fb}.flip-note{font-size:13px}.price-note{font-size:13px;color:#697287}.lightbox{position:fixed;inset:0;background:#000e;z-index:200;display:none;align-items:center;justify-content:center;padding:25px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.close{position:absolute;right:18px;top:12px;color:white;background:transparent;border:0;font-size:36px}.mapframe{border:0;width:100%;height:350px;border-radius:18px}.city-title{border-bottom:3px solid var(--gold);padding-bottom:10px}.pill{background:#fff0b5;color:#523d00;border-radius:40px;padding:4px 12px;font-size:12px;font-weight:700}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:white;padding:10px}@media(max-width:800px){.hamb{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:18px 24px;flex-direction:column;align-items:stretch;margin:0}.links.open{display:flex}.head{padding:8px 16px}.brand img{width:115px}.grid,.branchlist{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.footinner{grid-template-columns:1fr 1fr}.hero-text{left:12px;right:12px;bottom:12px;padding:14px 18px}.hero-text h1{font-size:29px}.hero-text p{font-size:13px}.slides{height:clamp(330px,65vw,510px)}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:white;border-top:1px solid #e7e7e7;justify-content:space-around;padding:7px 2px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -5px 24px #0001}.bottom a{display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--navy);font-size:10px;font-weight:750;min-width:55px}.bottom svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bottom a[aria-current=page]{color:#c48c00}.wrap{padding:40px 16px}.flip-stage{min-height:380px}.book img{width:min(43vw,350px)}}@media(max-width:540px){.grid,.branchlist,.gallery{grid-template-columns:1fr}.card img{height:210px}.gallery img{height:auto}.footinner{grid-template-columns:1fr}.book img{width:min(85vw,350px);max-height:520px}.book img:first-child{display:none}.flip-stage{min-height:440px}.flip-area{padding:15px 6px}.fliptools{gap:6px}.fliptools button,.fliptools select{font-size:12px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Logo proportions: keep source 3:2 aspect ratio on every viewport */
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand img{display:block;width:145px;height:auto;max-height:76px;object-fit:contain;object-position:left center;aspect-ratio:3/2}
.footer .footinner img{display:block;width:min(190px,100%);height:auto;max-height:none;object-fit:contain;aspect-ratio:3/2}
@media(max-width:800px){.brand img{width:115px;height:auto;max-height:68px}.footer .footinner img{width:170px;height:auto}}

/* Image proportions and responsive media: revision 2026-11-04 */
img{max-width:100%;height:auto}
.brand img,.footer .footinner img{height:auto!important;aspect-ratio:auto!important;max-height:none;object-fit:contain}
.slides{background:#071b46}
.slides img{object-fit:contain;object-position:center center}
.card img{height:auto;aspect-ratio:auto;object-fit:contain;background:#fff9ee}
.gallery img{height:auto;aspect-ratio:auto;object-fit:contain;background:#fff9ee}
.split img{height:auto;aspect-ratio:auto;object-fit:contain}
.book img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:800px){.slides{height:auto;aspect-ratio:1672/941;min-height:0}.slides img{height:100%;object-fit:contain}.hero-text{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;max-width:none}.hero{display:flex;flex-direction:column}.card img{height:auto}}
@media(max-width:540px){.slides{height:auto;aspect-ratio:1672/941;min-height:0}.gallery img,.card img{height:auto}}

.seo-article{max-width:1100px;margin:45px auto;padding:24px 28px;background:#fffaf2;border-radius:18px;color:#10244b;line-height:1.85}.seo-article h2{margin:0 0 14px;font-size:clamp(1.35rem,2.5vw,2rem)}.seo-article p{margin:0 0 16px}.seo-menu-list{columns:3;column-gap:30px;padding-left:22px}.seo-menu-list li{break-inside:avoid;margin-bottom:7px}@media(max-width:800px){.seo-article{margin:24px 14px;padding:20px}.seo-menu-list{columns:2}}@media(max-width:520px){.seo-menu-list{columns:1}}

/* Branch contact cards */
.branch-contact-panel{background:#f8f9fd;border:1px solid #e1e6f1;border-radius:18px;padding:22px;margin:20px 0;color:#0b2048}.branch-contact-panel h3{margin:0 0 10px}.branch-contact-panel address{font-style:normal;line-height:1.7}.branch-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.branch-contact-actions a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:11px;background:#082453;color:white!important;text-decoration:none;font-weight:700}.branch-contact-actions a.secondary{background:#f7c900;color:#071a3d!important}.branch-contact-actions svg{width:18px;height:18px;flex-shrink:0}.branch-contact-note{font-size:.85rem;opacity:.8;margin-top:12px}@media(max-width:620px){.branch-contact-actions a{flex:1 1 100%;justify-content:center}.branch-contact-panel{padding:16px}}

/* Homepage editorial layout, isolated from other pages */
.home-container{max-width:1200px;margin-inline:auto;padding:88px 24px}.home-kicker{font-size:12px;letter-spacing:.2em;font-weight:850;color:#a77700}.home-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.home-intro h2,.home-section-heading h2,.home-story h2,.home-guide h2,.home-visit h2{color:var(--navy);font-size:clamp(29px,3.5vw,47px);line-height:1.15;letter-spacing:-.035em;margin:16px 0 22px}.home-intro p,.home-story p,.home-guide p,.home-visit p{font-size:16px;line-height:1.9;color:#4b5568}.home-intro-image{margin:0}.home-intro-image img,.home-story-visual img{width:100%;height:auto;aspect-ratio:16/11;object-fit:contain;background:#eee7dd;border-radius:24px}.home-intro-image figcaption{font-size:12px;color:#647084;margin-top:12px}.home-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:22px}.home-text-link{font-weight:800;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:4px}.home-menu-band{background:#f0e9db}.home-section-heading{max-width:790px;margin:0 auto 38px;text-align:center}.home-section-heading p{color:#536074;line-height:1.8}.home-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-menu-tile{background:white;border-radius:22px;overflow:hidden;box-shadow:0 12px 35px #071b4610}.home-tile-image{height:240px;display:grid;place-items:center;background:#e5e7e9}.home-tile-image img{height:100%;width:100%;object-fit:contain}.home-tile-portrait{background:#f8e9b3}.home-tile-copy{padding:26px}.home-tile-copy span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#9d7700}.home-tile-copy h3{font-size:22px;line-height:1.25;color:var(--navy);margin:10px 0}.home-tile-copy p{color:#536074;line-height:1.75;margin:0}.home-center{text-align:center;margin-top:30px}.home-center p{font-size:13px;color:#647084}.home-story{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.home-guide{background:var(--navy);color:white}.home-guide-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.home-guide h2{color:white}.home-guide p{color:#e2e7f0}.home-guide .home-kicker{color:var(--gold)}.home-guide-visual{display:grid;gap:14px}.home-guide-visual img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:16px;background:#24395b}.home-visit{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.home-visit>img{width:100%;height:auto;object-fit:contain;border-radius:22px;background:#eee}.home-faq-shell{padding-bottom:0}.home-faq-content{max-width:850px;margin:0 auto 100px;padding:0 24px}.home-faq-content>h2{display:none}.home-faq-content h3{color:var(--navy);margin:24px 0 8px}.home-faq-content p{margin-top:0;color:#536074}.home-menu-band .home-container{padding-top:85px;padding-bottom:85px}@media(max-width:800px){.home-container{padding:54px 18px}.home-intro,.home-story,.home-guide-layout,.home-visit{grid-template-columns:1fr;gap:30px}.home-menu-grid{grid-template-columns:1fr 1fr}.home-intro-image{order:-1}.home-visit>img{order:-1}.home-story-visual img,.home-intro-image img{aspect-ratio:auto}.home-faq-content{padding:0 18px;margin-bottom:70px}}@media(max-width:560px){.home-menu-grid{grid-template-columns:1fr}.home-tile-image{height:245px}.home-intro h2,.home-section-heading h2,.home-story h2,.home-guide h2,.home-visit h2{font-size:30px}.home-container{padding:44px 16px}.home-menu-band .home-container{padding:52px 16px}.home-actions{gap:16px}.home-guide-visual{grid-template-columns:1fr 1fr}.home-guide-visual img{aspect-ratio:1/1}}

/* Editorial origin section */
.home-origin{padding-top:72px;padding-bottom:72px}.home-origin-heading{max-width:850px;margin-bottom:35px}.home-origin-heading h2{font-size:clamp(29px,3.7vw,48px);line-height:1.2;color:var(--navy);margin:12px 0}.home-origin-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr);gap:clamp(24px,5vw,72px);align-items:start}.home-origin-copy h3{font-size:clamp(19px,2vw,24px);color:var(--navy);margin:26px 0 10px;line-height:1.35}.home-origin-copy h3:first-child{margin-top:0}.home-origin-copy p{line-height:1.9;color:#4b5568;margin:0 0 16px}.home-origin-side{position:sticky;top:100px;background:#f6f3ed;border-radius:22px;padding:16px}.home-origin-side img{width:100%;height:auto;object-fit:contain;border-radius:14px;display:block}.home-origin-side p{padding:10px 8px 0;font-size:14px;line-height:1.7;color:#4b5568}@media(max-width:780px){.home-origin{padding-top:40px;padding-bottom:40px}.home-origin-layout{grid-template-columns:1fr}.home-origin-side{position:static}}
.domain-dropdown { width: 100%; max-width: 450px; margin: 20px auto; font-family: Arial, sans-serif; } .domain-details { width: 100%; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07); overflow: hidden; } .domain-dropdown-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; color: #222222; font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; transition: background 0.3s ease; } .domain-dropdown-btn::-webkit-details-marker { display: none; } .domain-dropdown-btn::marker { content: ""; } .domain-dropdown-btn:hover { background: #fff5ed; } .dropdown-arrow { font-size: 12px; color: #d97706; transition: transform 0.3s ease; } .domain-details[open] .dropdown-arrow { transform: rotate(180deg); } .domain-dropdown-menu { display: flex; flex-direction: column; max-height: 350px; overflow-y: auto; background: #ffffff; border-top: 1px solid #eeeeee; padding: 8px; } .domain-dropdown-menu a { display: block; padding: 12px 15px; margin: 2px 0; color: #333333; font-size: 14px; font-weight: 500; line-height: 1.5; text-decoration: none; border-radius: 7px; transition: all 0.2s ease; } .domain-dropdown-menu a:hover { background: #fff0df; color: #c65c00; padding-left: 20px; } .domain-dropdown-menu::-webkit-scrollbar { width: 5px; } .domain-dropdown-menu::-webkit-scrollbar-track { background: #f5f5f5; } .domain-dropdown-menu::-webkit-scrollbar-thumb { background: #d6a36c; border-radius: 10px; } @media (max-width: 768px) { .domain-dropdown { max-width: 100%; margin: 15px auto; } .domain-dropdown-btn { padding: 14px 16px; font-size: 14px; } .domain-dropdown-menu { max-height: 300px; } .domain-dropdown-menu a { padding: 11px 12px; font-size: 13px; } }