:root { --sea: #174b60; --sea-deep: #103c4c; --sage: #d1dfd4; --rust: #964a36; --leaf: #29493f; }
.direction-page { --ink: #173f42; --ink-soft: #35585a; --paper: #dfeaec; --rule: #a6bfc0; --dark: var(--sea); --dark-muted: #c9dedf; --dark-rule: #477687; }
.direction-page .introduction { padding: 0; display: grid; grid-template-columns: 1.63fr 1fr; background: var(--sage); }
.intro-photo { min-height: 500px; overflow: hidden; }
.intro-photo img { width: 100%; height: 100%; object-fit: cover; }
.direction-page .introduction__layout { width: auto; margin: 0; padding: clamp(30px,4vw,58px); display: block; }
.direction-page .introduction__lead { font-size: clamp(1.65rem,2.45vw,2.5rem); line-height: 1.3; }
.direction-page .introduction__detail { margin-top: 22px; }
.direction-page #tours { background: var(--sea); }
.direction-page .feature--lead { max-width: 1080px; }
.direction-page .section--tight.on-dark { background: var(--sea-deep); }
.direction-page .photo-contact { background: var(--rust); color: #fff8f3; display: grid; grid-template-columns: 1fr 1fr; padding: 0; }
.contact-photo { margin: 0; overflow: hidden; }
.contact-photo img { width: 100%; height: 100%; min-height: 550px; object-fit: cover; object-position: 50% 50%; }
.direction-page .photo-contact>.shell { width: auto; margin: 0; padding: clamp(32px,4.5vw,70px); display: flex; align-items: center; }
.direction-page .contact .narrow { display: block; width: auto; }
.direction-page .contact h2 { color: inherit; font-size: clamp(2.5rem,4vw,4rem); max-width: 14ch; }
.direction-page .contact p { color: inherit; margin: 24px 0; }
.direction-page .contact .btn { background: #fff5e8; color: #673321; border-color: #fff5e8; }
.direction-page .statement { position: relative; padding: 0; background: #163f40; color: #fff; overflow: hidden; }
.direction-page .statement__layout { width: 100%; max-width: none; min-height: 600px; display: flex; align-items: end; padding: 60px var(--bleed-pad); }
.direction-page .statement__layout>div { position: relative; z-index: 2; max-width: 620px; }
.direction-page .statement__text { color: inherit; max-width: 15ch; font-size: clamp(2.7rem,4.6vw,4.9rem); }
.direction-page .statement__note { color: inherit; max-width: 43ch; }
.direction-page .statement__photo { position: absolute; inset: 0; }
.direction-page .statement__photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#092e35e8 0%,#092e35bf 34%,#092e3500 80%),linear-gradient(0deg,#092e3580,transparent 60%); }
.direction-page .statement__photo img { height: 100%; width: 100%; object-fit: cover; object-position: center 55%; }
.direction-page .story { padding: 0; background: var(--leaf); color: #f0f6ee; }
.direction-page .story>.shell { width: 100%; max-width: none; }
.direction-page .story__layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; }
.direction-page .story__grid { padding: clamp(36px,5vw,76px) var(--bleed-pad); max-width: none; }
.direction-page .story__grid>div { max-width: 57ch; }
.direction-page .story h2 { color: #e0eccc; font-size: clamp(2rem,3vw,3.2rem); max-width: 17ch; }
.direction-page .story p { color: #f0f6ee; }
.direction-page .story__portrait { margin: 0; height: 100%; }
.direction-page .story__portrait img { height: 100%; min-height: 560px; aspect-ratio: auto; object-position: 53% 30%; }
.direction-page .articles { background: #dbe9ed; border: 0; color: #123e50; }
.blog-label { font-size: 1rem; margin-bottom: 12px; font-weight: 600; }
.article-card__cover { width: 100%; aspect-ratio: 4/3; height: auto; object-fit: cover; object-position: center 30%; margin-bottom: 20px; }
.direction-page .article-card { border: 0; padding: 0; color: #123e50; }
.direction-page .article-card p { color: #355864; }
.direction-page .article-card h3 { font-size: clamp(1.4rem,2vw,1.85rem); line-height: 1.22; }
.direction-page .articles__grid { gap: 30px; }
.direction-page .footer { background: #123e50; color: #edf5f4; border: 0; }
.direction-page .footer a { color: inherit; }
.blog-page { background: #e1eceb; color: #173f42; }
.blog-page .header { background: #173f42; color: #fff; }
.blog-page .header a { color: inherit; }
.blog-page .header__cta { border-color: currentColor; }
.blog-page .article-content { max-width: 850px; }
.blog-page .article-cover { max-height: 540px; object-fit: cover; object-position: center 27%; aspect-ratio: 16/10; }
.blog-page .article-body { max-width: 66ch; }
.blog-page .article-byline,.blog-page .article-origin { color: #35585a; }
.article-origin { margin-top: 20px; font-size: .9rem; }
.article-origin a { text-underline-offset: 3px; }
.blog-page .footer { background: #173f42; color: white; }
.blog-page .footer a { color: inherit; }
@media(max-width:899px) {
 .direction-page .introduction { grid-template-columns: 1fr; }
 .intro-photo { min-height: 0; height: auto; aspect-ratio: 3 / 2; }
 .direction-page .introduction__layout { padding: 30px var(--gutter); }
 .direction-page .photo-contact { grid-template-columns: 1fr; }
 .contact-photo img { height: 310px; min-height: 0; object-position: 50% 50%; }
 .direction-page .photo-contact>.shell { padding: 36px var(--gutter); }
 .direction-page .statement__layout { min-height: 550px; padding: 40px var(--gutter); }
 .direction-page .statement__photo:after { background: linear-gradient(0deg,#092e35f0 0%,#092e35be 40%,#092e350a 85%); }
 .direction-page .statement__text { font-size: clamp(2.5rem,7vw,3.5rem); }
 .direction-page .story__layout { grid-template-columns: 1fr; }
 .direction-page .story__grid { padding: 36px var(--gutter); }
 .direction-page .story__portrait img { min-height: 0; height: 440px; object-position: center 30%; }
 .direction-page .articles .section__head { align-items: start; }
}
@media(max-width:599px) {
 .direction-page .articles .section__head { display: block; }
 .direction-page .articles .section__link { display: inline-block; margin-top: 18px; }
 .direction-page .articles__grid { gap: 36px; }
 .direction-page .story__portrait img { height: 390px; }
 .direction-page .contact h2 { font-size: 2.7rem; }
 .blog-page .article-cover { aspect-ratio: 4/3; }
}

.blog-page .article-index { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.blog-page .article-index .article-card { border: 0; }
.blog-page .article-index h2 { font-size: 1.5rem; line-height: 1.2; }
@media(max-width:700px) {
 .direction-page .header__nav a[href="#articles"] { display: inline-flex; }
 .blog-page .article-index { grid-template-columns: 1fr; }
}

.direction-page,.blog-page { --font-display: 'Instrument Serif', Georgia, serif; }
.direction-page h1,.direction-page h2,.direction-page .article-card h3,.direction-page .statement__text,.direction-page .introduction__lead,.blog-page h1,.blog-page h2 { font-weight: 400; font-stretch: normal; font-synthesis: none; letter-spacing: -.015em; }
.direction-page .wordmark,.blog-page .wordmark { font-weight: 400; font-size: 1.55rem; }
.direction-page .portrait-opening h1 { font-size: clamp(3.6rem,6.8vw,6rem); line-height: .98; letter-spacing: -.015em; }
.direction-page .introduction__layout { padding: clamp(30px,3.5vw,56px); display: flex; flex-direction: column; justify-content: center; }
.direction-page .introduction__lead { font-size: clamp(2rem,2.8vw,2.8rem); line-height: 1.12; }
.direction-page .article-card h3 { font-size: clamp(1.8rem,2.4vw,2.2rem); }
.blog-page .article-content h1 { font-size: clamp(2.7rem,5vw,4.8rem); line-height: 1.02; }
.blog-page .article-index h2 { font-size: 1.9rem; }
@media(max-width:899px) {
 .direction-page .introduction__layout { padding: 30px var(--gutter); }
}
@media(max-width:700px) {
 .direction-page .portrait-opening h1 { font-size: clamp(2.5rem,10.2vw,3.5rem); line-height: 1.02; }
 .direction-page .header__nav { gap: 12px; }
 .direction-page .wordmark,.blog-page .wordmark { font-size: 1.4rem; }
}

.direction-page,.blog-page { --font: 'Hanken Grotesk', 'Helvetica Neue', sans-serif; font-family: var(--font); }
.direction-page .feature__title { font-weight: 500; letter-spacing: -.01em; font-stretch: normal; }
.direction-page .contact .btn,.direction-page .direction-action {
 background: transparent; color: inherit; border: 0; border-bottom: 1px solid currentColor; border-radius: 0;
 padding: 13px 0; min-height: 48px; box-shadow: none; gap: 12px; font-family: var(--font); font-weight: 500;
 transition: color .2s, border-color .2s; text-decoration: none;
}
.direction-page .contact .btn { font-size: clamp(1.05rem,1.5vw,1.3rem); }
.direction-page .contact .btn::after,.direction-page .direction-action::after { content: '↗'; font: 400 1.35em/1 var(--font); margin-left: 16px; transition: transform .2s; }
.direction-page .contact .btn:hover,.direction-page .direction-action:hover { background: transparent; color: #e9d5aa; transform: none; }
.direction-page .contact .btn:hover::after,.direction-page .direction-action:hover::after { transform: translate(3px,-3px); }
.direction-page .contact .btn svg { width: 19px; height: 19px; }
.direction-page .story__portrait img { object-position: 50% 29%; }
.portrait-stage { position: relative; height: 100%; min-height: inherit; overflow: clip; isolation: isolate; background: #122125; }
.experience-pinned .portrait-opening { overflow: visible; background: var(--sea); min-height: 0; }
.experience-pinned .portrait-stage { position: sticky; top: 0; height: 100svh; min-height: 720px; clip-path: inset(calc(var(--hero-p,0) * 16px)); }
.experience-pinned .portrait-scene { transform: translateY(calc(var(--hero-p,0) * 14px)) scale(calc(1 + var(--hero-p,0) * .04)); transform-origin: 55% 40%; }
.experience-pinned .portrait-opening .direction-copy { transform: translateY(calc(var(--hero-p,0) * -28px)); }
.experience-motion .intro-photo img { transform: scale(calc(1.08 - var(--sc-p,0) * .08)); transform-origin: 50% 55%; }
.experience-motion .contact-photo img { transform: scale(calc(1.055 - var(--sc-p,0) * .055)); }
@media(max-width:899px) {
 .direction-page .story__portrait img { height: auto; max-height: 680px; aspect-ratio: 4 / 5; object-position: center 28%; }
}
@media(max-width:700px) {
 .direction-page .contact .btn { font-size: 1.1rem; }
 .direction-page .direction-action { font-size: .95rem; }
}
@media(prefers-reduced-motion:reduce) {
 .direction-page .contact .btn,.direction-page .direction-action,.direction-page .contact .btn::after,.direction-page .direction-action::after { transition: none; }
 .experience-pinned .portrait-stage { position: relative; clip-path: none; }
 .experience-pinned .portrait-opening { height: auto !important; }
 .experience-pinned .portrait-scene,.experience-pinned .portrait-opening .direction-copy,.experience-motion .intro-photo img,.experience-motion .contact-photo img { transform: none; }
}
.direction-page .introduction__layout { gap: 0; align-items: flex-start; }
