@import url('/assets/fonts.css');
:root{--ink:#132f36;--muted:#566b70;--paper:#faf9f5;--white:#fff;--line:#dadfda;--green:#1f4b43;--lime:#d5e7a9;--orange:#e7a56d;--radius:7px;--sans:'DM Sans',Arial,sans-serif;--heading:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a65a2c;outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:600;line-height:1.12;letter-spacing:-.055em}h1{font-size:clamp(44px,5.8vw,80px)}h2{font-size:clamp(32px,3.7vw,49px)}h3{font-size:25px;letter-spacing:-.035em}p{color:var(--muted)}.container{width:min(1200px,calc(100% - 96px));margin:auto}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;display:flex;gap:10px;align-items:center}.eyebrow:before{content:'';width:22px;height:1px;background:currentColor}.skip{position:absolute;left:20px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.announcement{background:var(--green);color:#f1f6eb;text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.035em}.announcement span{opacity:.65;padding:0 10px}.header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #e9ebe5}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:37px;height:42px;color:var(--green)}.brand-words{display:flex;flex-direction:column;line-height:1.15}.brand-main{font-family:var(--heading);font-size:28px;font-weight:800;letter-spacing:-.07em}.brand-small{font-size:9px;letter-spacing:.29em;font-weight:600;margin-top:4px}.nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:500}.nav a:not(.button){position:relative;padding:10px 0}.nav a[aria-current=page]:not(.button):after{content:'';height:2px;background:var(--green);position:absolute;bottom:3px;left:0;right:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:49px;padding:13px 22px;background:var(--green);color:white;border:1px solid var(--green);border-radius:4px;font-size:13px;font-weight:600;line-height:1.4;transition:background .16s,transform .16s;white-space:normal}.button:hover{background:#12352e}.button svg{width:17px;height:17px;flex-shrink:0}.button.secondary{background:transparent;color:var(--ink);border-color:#adbbb4}.button.secondary:hover{background:#edf1e7}.button.light{background:var(--lime);border-color:var(--lime);color:var(--ink)}.button.light:hover{background:#c2da8b}.button:disabled{opacity:.65;cursor:wait}.menu-toggle{display:none;border:1px solid var(--line);border-radius:4px;background:transparent;padding:9px 12px;font-size:13px}.hero{padding:44px 0 0}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:65px;align-items:center}.hero-copy{padding:25px 0 35px}.hero h1{margin:25px 0 24px;line-height:1.07}.hero h1 .soft{color:#5f796d}.hero-copy>p{font-size:16px;max-width:400px;line-height:1.8}.hero-actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-top:22px}.hero-note svg{width:15px;height:15px;color:var(--green)}.hero-visual{height:565px;position:relative;padding-bottom:27px}.hero-photo{height:100%;border-radius:120px 5px 5px 5px;overflow:hidden}.hero-photo img{object-position:59% center}.photo-label{position:absolute;top:21px;right:20px;background:#fffdf2e8;padding:8px 11px;border-radius:3px;font-size:10px;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.photo-label svg{width:13px;height:13px}.hero-caption{position:absolute;bottom:0;right:22px;left:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--green);color:white;padding:22px 25px;border-radius:4px;box-shadow:0 8px 24px #13352a0c}.hero-caption strong{font-family:var(--heading);font-weight:500;font-size:18px;letter-spacing:-.03em}.hero-caption span{font-size:11px;color:#d8e6db}.caption-icon{border:1px solid #77988b;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.caption-icon svg{width:17px;height:17px}.partner-strip{margin-top:53px;display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;font-family:var(--heading);font-size:13px;font-weight:500}.partner-strip small{font-family:var(--sans);color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase;max-width:120px}.partner-strip .partner{display:flex;align-items:center;gap:10px}.partner-strip svg{width:20px;height:20px;color:#5c7669}.section{padding:93px 0}.section-heading{display:flex;justify-content:space-between;gap:65px;align-items:end;margin-bottom:35px}.section-heading h2{max-width:550px;margin-top:17px}.section-heading>p{max-width:325px;font-size:14px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden;display:block}.service-image{height:278px;position:relative;overflow:hidden}.service-image img{transition:transform .4s}.service-card:hover img{transform:scale(1.025)}.service-image .tag{position:absolute;top:18px;left:18px;background:#faf9f5f5;padding:5px 10px;border-radius:2px;font-size:9px;letter-spacing:.1em;font-weight:600;text-transform:uppercase}.service-content{padding:27px 29px 29px}.service-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.service-title svg{width:20px;height:20px}.service-content p{font-size:14px;max-width:450px;line-height:1.75}.service-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:700;margin-top:22px;text-decoration:underline;text-underline-offset:5px}.process-section{background:#edf0e8;padding:74px 0}.process-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px;align-items:start}.process-layout h2{margin-top:18px;font-size:39px}.process-layout>div>p{font-size:14px;max-width:300px;margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:5px}.step-number{display:block;color:#6b8074;font-family:var(--heading);font-size:13px;padding-bottom:22px;border-bottom:1px solid #bfcbbd;margin-bottom:24px}.step h3{font-size:19px;letter-spacing:-.03em;margin-bottom:12px}.step p{font-size:13px;line-height:1.8}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.editorial-image{height:460px;border-radius:5px 80px 5px 5px;overflow:hidden}.editorial h2{margin:20px 0 23px}.editorial p{font-size:15px;line-height:1.85}.editorial .text-link{display:inline-flex;margin-top:27px;align-items:center;gap:20px;font-size:13px;font-weight:700}.text-link svg{width:18px;height:18px}.cta-panel{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:49px 52px;border-radius:5px;margin-bottom:85px}.cta-panel h2{font-size:36px;letter-spacing:-.045em;max-width:600px}.cta-panel p{color:#d4e0d4;font-size:14px;margin-top:13px}.footer{border-top:1px solid var(--line);padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer .brand{margin-bottom:19px}.footer p{font-size:12px;max-width:270px;line-height:1.8}.footer h3{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:12px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-email{overflow-wrap:anywhere}.footer-bottom{margin-top:42px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom div{display:flex;gap:23px}.page-intro{padding:61px 0 49px;max-width:850px}.page-intro h1{font-size:clamp(42px,5.2vw,65px);margin:20px 0}.page-intro>p{max-width:650px;font-size:16px;line-height:1.8}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:24px;display:flex;gap:10px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:55px 0}.detail-hero h1{font-size:clamp(40px,5vw,66px);margin:21px 0}.detail-hero>div>p{font-size:15px;line-height:1.8;max-width:500px}.detail-hero .button{margin-top:26px}.detail-photo{height:435px;border-radius:75px 5px 5px 5px;overflow:hidden}.detail-photo img{object-position:center}.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.pill{border:1px solid #cbd6c9;border-radius:30px;padding:6px 12px;font-size:11px}.offerings{padding:43px 0 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line)}.offering .icon{color:var(--green);margin-bottom:17px}.icon svg{height:25px;width:25px}.offering h2{font-size:21px;letter-spacing:-.03em;margin-bottom:13px}.offering p{font-size:14px;line-height:1.8}.inquiry-section{padding:76px 0;background:#edf0e8}.inquiry-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.inquiry-aside{position:sticky;top:127px}.inquiry-aside h2{font-size:42px;margin:18px 0 20px}.inquiry-aside p{font-size:14px;line-height:1.8;max-width:330px}.contact-detail{margin-top:30px;padding-top:24px;border-top:1px solid #c3cfc0;font-size:13px}.contact-detail small{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.contact-detail a{font-weight:600;overflow-wrap:anywhere}.form-panel{padding:35px;background:#fff;border-radius:6px;border:1px solid #dce2d6}.form-panel>h3{font-size:24px;margin-bottom:9px}.form-panel>p{font-size:12px;margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field label small{font-weight:400;font-size:11px;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid #c9d2ca;background:#f7f8f4;border-radius:3px;padding:12px;color:var(--ink);font-size:13px;width:100%;min-height:45px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #1f4b4326}.field textarea{resize:vertical;min-height:115px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#707d78;opacity:1}.consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);line-height:1.7}.consent input{margin-top:4px;accent-color:var(--green);width:15px;height:15px;flex-shrink:0}.consent a{text-decoration:underline}.form-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px}.form-submit small{font-size:10px;color:var(--muted);max-width:180px}.form-status{margin-top:20px;font-size:13px;padding:16px;border-radius:4px;background:#edf2e7;color:var(--ink);overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.error{background:#fff2e9;color:#773d1c}.form-status a{text-decoration:underline}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq-section{padding:78px 0}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-layout h2{font-size:37px;margin-top:17px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;font-size:14px;font-weight:600;position:relative;padding-right:35px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:-4px;font-size:22px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:13px;line-height:1.8;margin-top:15px;padding-right:30px}.about-band{background:var(--green);color:white;padding:60px 0}.about-band h2{max-width:730px}.about-band p{color:#d4e0d4;max-width:650px;margin-top:24px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:65px 0}.principle span{font-size:11px;color:var(--muted)}.principle h2{font-size:23px;margin:15px 0}.principle p{font-size:14px}.privacy-copy{max-width:760px;padding:0 0 80px}.privacy-copy h2{font-size:24px;margin:30px 0 13px}.privacy-copy p,.privacy-copy li{font-size:14px;line-height:1.9}.privacy-copy ul{padding-left:20px}.privacy-copy a{text-decoration:underline}.contact-layout{padding:0 0 80px}.smallprint{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.8}.notfound{padding:95px 0 120px}.notfound p{margin:25px 0}.notfound h1{max-width:700px}
@media(min-width:1450px){.container{width:min(1280px,calc(100% - 128px))}.hero-grid{gap:80px}.hero-visual{height:590px}.hero h1{font-size:84px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}.nav{gap:19px}.hero-grid{gap:35px}.hero-visual{height:490px}.hero h1{font-size:59px}.hero-actions{gap:10px}.hero-actions .button{padding:13px 16px}.process-layout,.editorial,.inquiry-layout,.faq-layout{gap:45px}.hero-caption{right:12px;left:12px;padding:19px}.hero-caption strong{font-size:16px}.partner-strip{gap:16px;font-size:11px}.footer-grid{gap:35px}.detail-hero{gap:40px}.form-panel{padding:26px}.steps{gap:20px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.announcement{font-size:10px;padding:7px 16px}.header-inner{height:76px}.brand-main{font-size:25px}.brand-mark{height:36px;width:32px}.brand-small{font-size:8px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:15px 20px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 14px #132f3608;flex-direction:column;gap:5px;align-items:stretch}.nav.open{display:flex}.nav a:not(.button){padding:10px;width:fit-content}.nav .button{margin-top:10px}.hero{padding-top:26px}.hero-grid{grid-template-columns:1fr;gap:12px}.hero-copy{padding:10px 0 20px}.hero h1{font-size:56px;max-width:540px;margin:20px 0}.hero-copy>p{font-size:15px;max-width:540px}.hero-actions{margin-top:25px}.hero-visual{height:395px;max-width:100%;padding-bottom:22px}.hero-photo{border-radius:65px 4px 4px 4px}.hero-photo img{object-position:center 55%}.hero-caption{left:17px;right:17px;padding:18px 20px}.photo-label{font-size:9px;right:15px}.hero-note{margin-top:18px}.partner-strip{margin-top:31px;display:grid;grid-template-columns:1fr 1fr;gap:19px;padding:23px 0}.partner-strip small{max-width:none;font-size:9px;align-self:center}.partner-strip .partner{font-size:11px;gap:8px}.partner-strip svg{width:18px;height:18px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:35px;margin:16px 0}.section-heading>p{max-width:100%;font-size:14px}.service-grid{grid-template-columns:1fr;gap:21px}.service-image{height:255px}.service-content{padding:24px}.service-content h3{font-size:25px}.process-section{padding:52px 0}.process-layout{grid-template-columns:1fr;gap:31px}.process-layout h2{font-size:35px;max-width:450px}.process-layout>div>p{max-width:100%;margin-top:16px}.steps{gap:18px}.step h3{font-size:17px}.step p{font-size:12px}.step-number{padding-bottom:15px;margin-bottom:19px}.editorial{grid-template-columns:1fr;gap:34px}.editorial-image{height:340px}.editorial h2{font-size:35px;margin:17px 0}.editorial p{font-size:14px}.cta-panel{padding:32px 26px;display:block;margin-bottom:55px}.cta-panel h2{font-size:31px}.cta-panel .button{margin-top:25px}.cta-panel p{font-size:13px}.footer{padding:35px 0 22px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer p{max-width:350px}.footer-bottom{display:block;margin-top:31px}.footer-bottom div{margin-top:11px}.detail-hero{grid-template-columns:1fr;gap:30px;padding:35px 0}.detail-hero h1{font-size:49px}.detail-photo{height:310px;border-radius:55px 4px 4px 4px}.offerings{grid-template-columns:1fr;gap:29px;padding:33px 0 47px}.offering h2{font-size:22px}.offering .icon{margin-bottom:12px}.inquiry-section{padding:50px 0}.inquiry-layout{grid-template-columns:1fr;gap:30px}.inquiry-aside{position:static}.inquiry-aside h2{font-size:35px}.inquiry-aside p{max-width:100%}.contact-detail{margin-top:22px;padding-top:19px}.form-panel{padding:24px 20px}.form-grid{gap:17px}.form-grid>.field{grid-column:1/-1}.form-submit{display:block}.form-submit .button{width:100%}.form-submit small{display:block;margin-top:12px;max-width:none}.faq-section{padding:52px 0}.faq-layout{grid-template-columns:1fr;gap:27px}.faq-layout h2{font-size:33px}.page-intro{padding:40px 0 30px}.page-intro h1{font-size:46px}.page-intro>p{font-size:15px}.principles{grid-template-columns:1fr;padding:45px 0;gap:30px}.about-band{padding:45px 0}.about-band h2{font-size:34px}.about-band p{font-size:14px}.privacy-copy{padding-bottom:50px}}
@media(max-width:380px){.hero h1{font-size:49px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{justify-content:space-between}.hero-visual{height:340px}.steps{grid-template-columns:1fr}.step-number{margin-bottom:10px;padding-bottom:8px}.step{margin-bottom:13px}.hero-caption strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* A travel journal: warm paper, destination photography and small keepsakes. */
body { background-image: radial-gradient(#1f4b4308 .65px, transparent .65px); background-size: 7px 7px; }
::selection { background: #d5e7a9; color: var(--ink); }
.header { background: #faf9f5f5; backdrop-filter: blur(14px); }
.header-inner { height: 88px; }
.nav a:not(.button)::after { content: ''; position: absolute; left: 0; bottom: 3px; height: 2px; width: 100%; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .24s ease; }
.nav a:not(.button):hover::after, .nav a[aria-current=page]:not(.button)::after { transform: scaleX(1); }
.button { border-radius: 7px; transition: background .2s, transform .2s, box-shadow .2s; }
.button:not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 6px 16px #17392e19; }
.button svg, .text-link svg, .service-title svg { transition: transform .25s ease; }
.button:hover svg, .text-link:hover svg, .service-card:hover .service-title svg { transform: translate(2px,-2px); }
.text-link { display: inline-flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 700; }
.hero { background: radial-gradient(ellipse at 96% 23%, #e9e8d6a6, transparent 52%); }
.hero-grid { gap: 76px; }
.hero h1 .soft { color: #607e6c; }
.hero-photo { border-radius: 130px 12px 12px 12px; }
.hero-photo img { object-position: 59% center; }
.photo-label { top: 20px; right: 18px; border-radius: 30px; padding: 9px 13px; }
.hero-caption { border-radius: 9px; box-shadow: 0 18px 35px #16362b1a; }
.caption-icon { color: var(--lime); }
.travel-pass { position: absolute; bottom: 115px; left: -28px; width: 247px; background: #fffdf3; padding: 17px 18px 11px; border: 1px solid #fff; border-radius: 9px; transform: rotate(-7deg); box-shadow: 0 16px 34px #132f3626; color: var(--green); }
.pass-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 8px; letter-spacing: .12em; font-weight: 700; }
.pass-top svg { width: 22px; height: 22px; }
.pass-destination { display: flex; align-items: center; gap: 18px; padding: 10px 0 13px; }
.pass-destination strong { font-family: var(--heading); font-size: 49px; letter-spacing: -.07em; line-height: 1.1; }
.pass-destination > span { font-size: 10px; line-height: 1.5; }
.pass-bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed #abb7a5; padding-top: 9px; font-size: 7px; letter-spacing: .08em; }
.pass-bottom > span:last-child { font-size: 19px; line-height: 1; }
.city-seal { position: absolute; top: 87px; right: -19px; width: 111px; height: 111px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; background: var(--lime); border: 1px solid #c3d394; outline: 4px solid var(--lime); outline-offset: 3px; border-radius: 50%; transform: rotate(10deg); box-shadow: 0 12px 25px #193c2920; }
.city-seal span { font-size: 7px; letter-spacing: .13em; font-weight: 700; }
.city-seal svg { width: 43px; height: 43px; }
.partner-strip { margin-top: 58px; padding: 28px 0; }
.service-card { border-radius: 15px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 15px 34px #183b2b12; border-color: #a7ba9f; }
.service-image { height: 300px; }
.service-card:first-child .service-image img { object-position: center 57%; }
.service-image .tag { border-radius: 25px; padding: 7px 13px; }
.service-title > svg { color: var(--green); width: 23px; height: 23px; }
.journey-section { padding: 2px 0 90px; }
.journey-layout { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 65px; }
.journey-copy h2 { margin: 19px 0 23px; }
.journey-copy > p { font-size: 14px; line-height: 1.8; margin-bottom: 16px; max-width: 355px; }
.journey-copy .text-link { margin-top: 6px; }
.journey-note { font-size: 10px; line-height: 1.7; border-left: 2px solid #ca8c5b; padding-left: 12px; margin-top: 30px; color: var(--muted); }
.journey-board { min-width: 0; background: #efecdf; border: 1px solid #e1ddce; border-radius: 16px; padding: 26px 27px 23px; transform: rotate(1deg); box-shadow: 0 17px 35px #193c2909; }
.board-heading, .board-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.board-heading > span { font-size: 9px; letter-spacing: .12em; font-weight: 600; }
.board-heading > svg { width: 23px; height: 23px; }
.journey-line { width: 100%; height: 74px; color: #927154; overflow: visible; }
.journey-line path { stroke: currentColor; stroke-width: 1.5; stroke-dasharray: 4 5; }
.journey-line circle { fill: #efecdf; stroke: var(--green); stroke-width: 2; }
.journey-stops { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.stop-photo { height: 204px; overflow: hidden; border: 6px solid #fffdf5; box-shadow: 0 4px 9px #132f3610; }
.journey-stop:nth-child(1) .stop-photo { transform: rotate(-4deg); }
.journey-stop:nth-child(2) .stop-photo { transform: translateY(-12px) rotate(3deg); }
.journey-stop:nth-child(3) .stop-photo { transform: rotate(-2deg); }
.stop-photo img { transition: transform .4s ease; }
.journey-board:hover .stop-photo img { transform: scale(1.04); }
.journey-stop > span { display: block; font-size: 8px; letter-spacing: .1em; color: #6b7168; margin: 20px 0 8px; }
.journey-stop h3 { font-size: 20px; letter-spacing: -.04em; }
.board-footer { border-top: 1px solid #cfcfbe; padding-top: 18px; margin-top: 24px; }
.board-footer > span:first-child { font-size: 7px; letter-spacing: .13em; }
.board-signature { font-family: Georgia,serif; font-style: italic; font-size: 17px; color: var(--green); }
.process-section { background: #eaf0e4; border-top: 1px solid #dce4d5; border-bottom: 1px solid #dce4d5; }
.step-number { color: #456350; }
.editorial-image { border-radius: 12px 95px 12px 12px; position: relative; }
.editorial-image::after { content: 'SOME MOMENTS ARE BETTER SHARED.'; position: absolute; bottom: 25px; left: 25px; right: 25px; font-size: 9px; letter-spacing: .14em; color: #fff; padding: 12px 15px; background: #163a30d9; border-radius: 4px; }
.cta-panel { position: relative; isolation: isolate; overflow: hidden; border-radius: 15px; padding: 54px; }
.cta-panel::before { content: ''; position: absolute; z-index: -1; right: -70px; top: -135px; width: 390px; height: 390px; border: 1px solid #d5e7a928; border-radius: 50%; box-shadow: 0 0 0 35px #d5e7a908, 0 0 0 70px #d5e7a906; }
.cta-panel .button { flex-shrink: 0; }
.detail-photo { position: relative; border-radius: 85px 12px 12px 12px; }
.photo-note { position: absolute; bottom: 21px; left: 21px; right: 21px; padding: 17px 19px; border-radius: 7px; background: #fffdf2f5; display: flex; align-items: center; gap: 15px; box-shadow: 0 10px 25px #132f3612; }
.photo-note > span { color: #7a694e; font-size: 15px; font-family: var(--heading); padding-right: 14px; border-right: 1px solid #ccd1c2; }
.photo-note strong { display: block; font-family: var(--heading); font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: -.03em; }
.photo-note small { display: block; font-size: 9px; color: var(--muted); margin-top: 3px; }
.photo-note > svg { width: 18px; height: 18px; margin-left: auto; flex-shrink: 0; }
.offering .icon { display: grid; place-items: center; height: 48px; width: 48px; border: 1px solid #cdd6c5; border-radius: 14px; background: #edf0e5; }
body[data-page=broadway] .offering .icon { background: #f5eadd; border-color: #e6d4be; color: #81532f; }
.form-panel { border-radius: 13px; box-shadow: 0 12px 32px #1f4b4306; }
.field input, .field select, .field textarea { border-radius: 5px; transition: border-color .18s, box-shadow .18s; }
.faq-list summary:hover { color: #54743f; }
.footer { background: #f2f3eb; }
@media(min-width:1450px) { .hero-grid { gap: 88px; } }
@media(max-width:1050px) {
  .hero-grid { gap: 45px; }
  .travel-pass { width: 220px; left: -15px; bottom: 112px; }
  .city-seal { right: -7px; width: 95px; height: 95px; }
  .journey-layout { gap: 40px; grid-template-columns: .8fr 1.2fr; }
  .journey-board { padding: 22px 20px; }
  .journey-stops { gap: 10px; }
  .stop-photo { height: 165px; border-width: 4px; }
  .journey-stop h3 { font-size: 18px; }
  .board-signature { font-size: 15px; }
}
@media(max-width:760px) {
  .header-inner { height: 76px; }
  .hero-grid { gap: 18px; }
  .hero-visual { margin-top: 7px; }
  .hero-photo { border-radius: 75px 10px 10px 10px; }
  .travel-pass { left: 12px; bottom: 108px; width: 205px; padding: 13px 15px 10px; }
  .pass-destination strong { font-size: 39px; }
  .pass-destination { gap: 14px; padding: 7px 0 10px; }
  .pass-top { font-size: 7px; }
  .pass-bottom { font-size: 6px; }
  .city-seal { right: 14px; top: 76px; width: 83px; height: 83px; outline-width: 2px; outline-offset: 3px; }
  .city-seal span { font-size: 5.5px; }
  .city-seal svg { height: 33px; width: 33px; }
  .hero-caption { left: 12px; right: 12px; padding: 18px; gap: 14px; }
  .partner-strip { margin-top: 33px; padding: 24px 0; }
  .service-image { height: 250px; }
  .journey-section { padding: 0 0 60px; }
  .journey-layout { grid-template-columns: 1fr; gap: 32px; }
  .journey-copy h2 { font-size: 35px; }
  .journey-copy > p { max-width: 540px; }
  .journey-note { margin-top: 22px; }
  .journey-board { transform: none; padding: 22px 18px; }
  .journey-line { height: 65px; }
  .stop-photo { height: 165px; }
  .journey-stop h3 { font-size: 17px; }
  .journey-stop > span { font-size: 6.5px; letter-spacing: .06em; margin-top: 18px; }
  .board-footer { gap: 10px; }
  .board-footer > span:first-child { font-size: 6px; }
  .board-signature { font-size: 14px; }
  .cta-panel { padding: 33px 26px; }
  .detail-photo { border-radius: 55px 10px 10px 10px; }
  .photo-note { left: 14px; right: 14px; bottom: 14px; gap: 11px; padding: 14px; }
  .photo-note strong { font-size: 12px; }
  .photo-note > span { font-size: 12px; padding-right: 11px; }
}
@media(max-width:380px) {
  .travel-pass { width: 188px; bottom: 102px; }
  .pass-destination strong { font-size: 36px; }
  .pass-destination > span { font-size: 9px; }
  .hero-caption strong { font-size: 13px; }
  .hero-caption span { font-size: 10px; }
  .stop-photo { height: 139px; }
  .journey-stop h3 { font-size: 15px; }
  .journey-stops { gap: 8px; }
  .board-heading > span { font-size: 7px; }
}
