@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap");
:root{--navy:#10273d;--ink:#172a39;--muted:#506171;--red:#ad332c;--cream:#f8f3ed;--white:#fff;--line:#ded8d1;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--white)}
*{box-sizing:border-box}body,p,h1,h2,h3{margin:0}a{color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c0753b;outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;top:-100px;left:12px;z-index:4;background:white;padding:12px}.skip:focus{top:8px}.header{background:white}.nav-bar{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;letter-spacing:.08em;font-weight:800;line-height:1;text-decoration:none;color:#125284}.brand img{object-fit:contain;border-radius:8px}.brand-sub{display:block;color:#176448;font-size:10px;letter-spacing:.22em;margin-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}nav a{text-decoration:none}nav a:not(.button):hover{color:var(--red)}.menu{display:none}
.hero{position:relative;isolation:isolate;background:#253f57 url("assets/hero.jpg") center 49%/cover;display:grid;align-items:center;min-height:615px;color:white}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,23,38,.93),rgba(12,27,43,.72) 38%,rgba(12,27,43,.13) 78%),linear-gradient(0deg,rgba(10,22,32,.30),transparent 60%)}.hero-copy{padding-block:96px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.15em;margin-bottom:17px}.eyebrow span{display:inline-block;height:2px;width:22px;background:currentColor;flex:none}.hero .eyebrow,.contact .eyebrow{color:#ffc7b4}.hero h1,h2,.destination h3{font-family:"Playfair Display",Georgia,serif}.hero h1{font-size:clamp(3.75rem,8vw,7.4rem);line-height:.99;letter-spacing:-.055em}.hero em{color:#ffc2af;font-weight:600}.hero-intro{max-width:470px;margin-top:25px;color:#f7f0ec;font-size:18px;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:50px;padding:13px 20px;border:1px solid transparent;border-radius:5px;background:var(--red);color:white;text-decoration:none;font-size:14px;font-weight:800;cursor:pointer}.button:hover{background:#87231d}.button.small{min-height:42px;padding:10px 15px}.button.outline{background:rgba(15,29,43,.42);border-color:#ffffffaa}.button.outline:hover{background:#10273d}
.travel-strip{background:var(--navy);color:#f4e9e0}.travel-strip div{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.travel-strip span{padding:19px 8px;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.travel-strip span+span{border-left:1px solid #ffffff25}.section{padding-block:83px;scroll-margin-top:12px}h2{font-size:clamp(2.35rem,5vw,4rem);letter-spacing:-.035em;line-height:1.07}p{line-height:1.6}.lede{margin-top:15px;color:var(--muted);font-size:17px;max-width:650px}
.destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:32px}.destination{min-height:325px;border-radius:9px;overflow:hidden;background-color:var(--navy);background-position:center;background-size:cover;display:flex;align-items:end;color:white;position:relative;isolation:isolate}.destination::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,22,36,.98),rgba(7,22,36,.62) 39%,transparent 78%);z-index:-1}.destination>div{padding:20px}.destination h3{font-size:29px}.destination p{font-size:14px;margin:6px 0 13px}.destination a,.service a{font-size:13px;font-weight:800;text-underline-offset:4px}.tokyo{background-image:url("assets/tokyo.jpg")}.fuji{background-image:url("assets/fuji.jpg")}.kyoto{background-image:url("assets/kyoto.jpg")}.osaka{background-image:url("assets/osaka.jpg")}
.services{background:var(--cream)}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}.service{display:flex;align-items:flex-start;gap:16px;padding:19px;background:white;border:1px solid #e8ded3;border-radius:8px}.service img{border-radius:5px;object-fit:cover;flex:none}.service h3{font-size:17px;line-height:1.25}.service p{color:var(--muted);font-size:14px;margin:5px 0 8px}.service a{color:var(--red)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.about p:last-child{margin-top:14px;color:var(--muted)}.banner-link img{border-radius:8px;width:100%;height:auto;box-shadow:0 12px 35px #10273d20}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:52px}.contact .lede{color:#d9e2ed}.contact address{font-style:normal;line-height:1.65;margin-top:24px}.contact-links{display:grid;gap:7px;margin-top:17px;justify-items:start}.contact-links a{color:#ffcebc;text-underline-offset:4px;overflow-wrap:anywhere}form{color:var(--ink);background:white;border-radius:9px;padding:27px}form h3{font-size:23px}form p{font-size:14px;color:var(--muted);margin:6px 0 17px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}label{display:grid;gap:5px;font-size:14px;font-weight:700;min-width:0}input,select,textarea{width:100%;min-width:0;padding:10px;border:1px solid #a3aab0;border-radius:4px;background:white;color:var(--ink)}textarea{resize:vertical}.wide{grid-column:1/-1}#form-status{margin:12px 0 0;overflow-wrap:anywhere}footer{background:#091a29;color:#dbe2e9;font-size:13px}.footer{display:flex;justify-content:space-between;padding-block:22px;gap:16px}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.hero{min-height:530px}.destinations{grid-template-columns:1fr 1fr}.section{padding-block:63px}.contact-grid{gap:32px}}
@media(max-width:650px){.shell{width:calc(100% - 34px)}.nav-bar{position:relative;min-height:65px;flex-wrap:wrap;padding-block:10px}body:has(.menu:not([hidden])) .menu{display:block;background:white;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--navy);font-weight:800}nav{width:100%;flex-wrap:wrap;gap:15px;padding-block:8px}body:has(.menu:not([hidden])) nav:not(.open){display:none}.hero{min-height:525px;background-position:61% center}.hero-copy{padding-block:72px}.hero::before{background:linear-gradient(90deg,#081726e8,#0c1b2ba6 66%,#0c1b2b50)}.hero-intro{font-size:16px}.travel-strip span{font-size:9px;letter-spacing:.09em}.section{padding-block:50px}.destinations,.services-grid,.about,.contact-grid{grid-template-columns:1fr}.destination{min-height:280px}.about{gap:25px}form{padding:18px}.fields{grid-template-columns:1fr}}

