/* The Boathouse headquarters • storybook UI scoped to /boathouse/ */
.hq-world{overflow:clip;color:#152b30}
.hq-world .eyebrow{font:800 .7rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.16em}
.hq-world h1,.hq-world h2,.hq-world h3{font-family:var(--serif,Georgia,serif);font-weight:500}
.hq-world h2{font-size:clamp(2.4rem,4.55vw,4.7rem);line-height:1.08}
.hq-world h2 em{font-weight:400;color:#ac663c}
.hq-world a:focus-visible,.hq-world summary:focus-visible{outline:3px solid #db9850;outline-offset:4px}
.hq-hero{position:relative;isolation:isolate;min-height:670px;background:#10222c;color:#f3e8d7}
.hq-hero-landscape{position:absolute;inset:0 0 0 32%;pointer-events:none;overflow:hidden}
.hq-hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:60% 46%;filter:saturate(.9) contrast(1.02)}
.hq-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0b1b26 0%,#0b1b26ec 36%,#0b1b268b 62%,#0b1b2638 100%),linear-gradient(0deg,#091923c9,transparent 45%)}
.hq-hero-grid{z-index:2;position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(200px,.6fr);gap:clamp(30px,5vw,90px);align-items:end;padding-top:166px;padding-bottom:93px}
.hq-breadcrumb{font:700 .8rem var(--sans,Arial,sans-serif);color:#e1cfae;margin:0 0 36px}
.hq-breadcrumb a{color:#f0c789;text-underline-offset:4px}
.hq-hero .eyebrow{color:#f1c081}
.hq-hero h1{font-size:clamp(3.8rem,6.5vw,7rem);line-height:.98;letter-spacing:-.038em;max-width:840px;margin:12px 0 25px}
.hq-hero h1 em{color:#ffce94;font-style:italic}
.hq-lead{font-size:clamp(1.24rem,2vw,1.6rem);max-width:710px;line-height:1.5;color:#f5e7d2}
.hq-hero-note{color:#d1dedb;max-width:670px;line-height:1.7}
.hq-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 0}
.hq-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid #e9b56e;padding:13px 20px;color:#f5e5cd;text-decoration:none;font:800 .74rem/1.35 var(--sans,Arial,sans-serif);text-transform:uppercase;letter-spacing:.08em;transition:transform .2s,background .2s}
.hq-button--gold{background:#e9b56e;color:#17282c}
.hq-button--outline{background:#12292ab5}
.hq-button:hover,.hq-button:focus-visible{transform:translateY(-2px);background:#ffdda1;color:#13292e}
.hq-hero-micro{font:700 .66rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.12em;color:#e3c297;margin:25px 0 0}
.hq-hero-postcard{position:relative;transform:rotate(3deg);max-width:315px;justify-self:end;background:#ecdfc5;color:#1b3031;border:7px solid #f3e9d4;box-shadow:0 15px 36px #0009;padding:22px 23px 21px}
.hq-postcard-tag{font:800 .63rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.1em;color:#94633a}
.hq-hero-postcard strong{display:block;margin:27px 0 12px;font:500 1.8rem/1.2 var(--serif,Georgia,serif)}
.hq-hero-postcard p{font:italic 1.28rem/1.45 var(--serif,Georgia,serif);margin:0 0 18px}
.hq-postcard-by{color:#794e31;font:.72rem/1.5 var(--sans,Arial,sans-serif)}
.hq-postcard-icon{position:absolute;right:14px;top:5px;font-size:2.2rem;color:#b6854f}
.hq-signpost{border-top:2px solid #c3894a;border-bottom:3px solid #a46b34;background:#e9bb78;color:#1b3337}
.hq-signpost-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px;padding-top:15px;padding-bottom:15px;font:800 .7rem/1.3 var(--sans,Arial,sans-serif);letter-spacing:.11em}
.hq-signpost-inner strong{margin-right:auto;color:#704525}
.hq-signpost a{color:#182e34;text-decoration:none;border-bottom:1px solid transparent;padding:5px 0}
.hq-signpost a:hover{border-color:currentColor}
.hq-signpost a span{font-size:1.06rem}
.hq-welcome{padding:85px 0;background:#efe3d0}
.hq-welcome-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9%}
.hq-welcome .eyebrow{color:#8d5432}
.hq-welcome h2{margin:13px 0}
.hq-welcome-copy p{color:#344d49;font-size:1.06rem;line-height:1.83;margin:0 0 18px}
.hq-welcome-copy strong{color:#203437}
.hq-rooms{padding:90px 0;background:radial-gradient(circle at 88% 0%,#2b4148,#10232d 60%);color:#f4eadc;scroll-margin-top:15px}
.hq-section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:end;margin-bottom:34px}
.hq-rooms .eyebrow,.hq-method .eyebrow{color:#e9b56e}
.hq-section-heading h2{margin:12px 0 0}
.hq-rooms .hq-section-heading h2 em{color:#f6c381}
.hq-section-heading>p{max-width:460px;line-height:1.7;color:#d1dcda;font-size:1rem}
.hq-rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.hq-room{display:flex;flex-direction:column;padding:16px 18px 18px;min-height:425px;text-decoration:none;color:#f7ead6;background:linear-gradient(135deg,#b5956b,#675740);border:1px solid #d6b78a;box-shadow:0 14px 28px #050e124c;transition:transform .2s,box-shadow .2s}
.hq-room:hover,.hq-room:focus-visible{transform:translateY(-6px);box-shadow:0 23px 42px #0008;outline:2px solid #f4c17e;outline-offset:3px}
.hq-room-top{display:flex;justify-content:space-between;align-items:center;color:#fff5dc;font:800 .67rem/1.45 var(--sans,Arial,sans-serif);letter-spacing:.1em;margin-bottom:14px}
.hq-room-top span:last-child{font-size:1.15rem}
.hq-room-door{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background:linear-gradient(165deg,#243c46,#10232d);color:#f7ebd7;border:5px solid #d7b58b;border-bottom-width:10px;border-radius:155px 155px 5px 5px / 105px 105px 5px 5px;box-shadow:inset 0 0 0 4px #273b43,inset 0 0 45px #0007;padding:28px 23px 30px;min-height:305px}
.hq-room-door:before{content:"";position:absolute;inset:11px;border:1px solid #ffffff3b;border-radius:150px 150px 2px 2px / 99px 99px 2px 2px;pointer-events:none}
.hq-room-window{font-size:2.65rem;filter:drop-shadow(0 8px 7px #0005);margin-bottom:20px}
.hq-room-title{font:500 clamp(1.55rem,2.2vw,2.24rem)/1.12 var(--serif,Georgia,serif);max-width:270px}
.hq-room-descr{font:.86rem/1.63 var(--sans,Arial,sans-serif);color:#d5e0dc;max-width:245px;margin:14px 0 0}
.hq-room-knob{position:absolute;bottom:24px;right:22px;width:10px;height:10px;border-radius:50%;background:#e8b56e;box-shadow:0 0 12px #e8b56e9a}
.hq-room-link{display:flex;align-items:center;justify-content:center;text-align:center;padding:17px 0 1px;color:#fff5e7;font:800 .68rem/1.3 var(--sans,Arial,sans-serif);letter-spacing:.12em}
.hq-room--workshop{background:linear-gradient(135deg,#967963,#5d4a41)}
.hq-room--workshop .hq-room-door{background:linear-gradient(155deg,#453b3f,#1d2831)}
.hq-room--cases{background:linear-gradient(135deg,#ab8f70,#576748)}
.hq-room--cases .hq-room-door{background:linear-gradient(155deg,#3e5f4e,#182d32)}
.hq-room--library{background:linear-gradient(135deg,#b69173,#70546e)}
.hq-room--library .hq-room-door{background:linear-gradient(155deg,#51415c,#232b3f)}
.hq-room--watch{background:linear-gradient(135deg,#7b9b9b,#4e656d)}
.hq-room--watch .hq-room-door{background:linear-gradient(155deg,#2b5362,#1a2a36)}
.hq-room--captain{background:linear-gradient(135deg,#ae9266,#755739)}
.hq-room--captain .hq-room-door{background:linear-gradient(155deg,#61513b,#273537)}
.hq-rooms-end{text-align:center;color:#d5dfd6;margin:32px 0 0;font:700 .8rem var(--sans,Arial,sans-serif);letter-spacing:.08em}
.hq-rooms-end a{color:#f6c788;text-underline-offset:5px}
.hq-crew{padding:95px 0;background:#dcd4c2;color:#142b30;scroll-margin-top:10px}
.hq-crew-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:9%;align-items:center}
.hq-crew-photo{margin:0;transform:rotate(-2deg)}
.hq-crew-photo-inner{position:relative;border:9px solid #f5ecd8;outline:1px solid #aa875b;box-shadow:0 22px 50px #0004}
.hq-crew-photo img{width:100%;display:block;height:auto;aspect-ratio:920/613;object-fit:cover}
.hq-photo-stamp{position:absolute;z-index:2;top:-19px;right:-17px;padding:14px;background:#e9bc78;border:2px solid #8c6035;transform:rotate(11deg);color:#4c3523;font:800 .7rem/1.4 var(--sans,Arial,sans-serif);text-align:center}
.hq-crew-photo figcaption{font:italic 1rem/1.5 var(--serif,Georgia,serif);margin-top:22px;color:#5d5341}
.hq-crew .eyebrow{color:#71432b}
.hq-crew h2{margin:11px 0 22px}
.hq-crew-copy>p{font-size:1.04rem;line-height:1.8;color:#374c48}
.hq-crew .hq-button--outline{color:#243c3d;background:transparent;border-color:#9e6d40}
.hq-crew .hq-button--outline:hover{background:#f1d6ab}
.hq-crew-inset{margin-top:25px;border-top:1px solid #b8ab93;padding-top:15px;color:#6b4b31;font:800 .7rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.09em}
.hq-crew-inset strong{color:#2b4848}
.hq-method{padding:83px 0 91px;background:#122833;color:#f4ecdb}
.hq-method .hq-section-heading h2 em{color:#eac186}
.hq-method-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:45px 0 0;gap:13px}
.hq-method-steps li{border-top:3px solid #e5b06b;padding:22px 15px 16px;background:#1d3840}
.hq-method-steps li>span{display:block;font:800 .76rem var(--sans,Arial,sans-serif);color:#f5c986;letter-spacing:.14em}
.hq-method-steps strong{display:block;font:500 clamp(1.6rem,2.5vw,2.3rem)/1.2 var(--serif,Georgia,serif);margin:17px 0 12px}
.hq-method-steps p{font:.88rem/1.7 var(--sans,Arial,sans-serif);color:#d0d9d4;margin:0}
.hq-principles{background:#eee4d3;padding:91px 0;color:#173035;scroll-margin-top:15px}
.hq-principles-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(265px,.68fr);gap:9%;align-items:center}
.hq-principles .eyebrow{color:#945a39}
.hq-principles h2{margin:15px 0 19px}
.hq-principles-grid>div>p{max-width:680px;color:#4c5d56;font-size:1.05rem;line-height:1.75}
.hq-rule-list{display:grid;gap:9px;margin:28px 0}
.hq-rule-list>div{display:flex;align-items:start;gap:15px;border-bottom:1px solid #cebca3;padding:11px 0}
.hq-rule-list span{color:#9d613d;font-size:1.25rem}
.hq-rule-list p{color:#3a4c46;margin:0;line-height:1.6}
.hq-rule-list strong{color:#1e3a3d}
.hq-text-link{font-weight:800;color:#85492c;text-underline-offset:5px}
.hq-secret{padding:30px;background:#f7eedc;border:1px solid #b9a17d;box-shadow:0 15px 32px #0002;transform:rotate(2deg)}
.hq-secret-stamp{font:800 .67rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.12em;color:#915d37}
.hq-secret-coffee{font-size:3rem;margin:20px 0}
.hq-secret h3{font-size:2rem;margin:14px 0 20px}
.hq-secret details{border-top:1px solid #cbb597;padding-top:18px}
.hq-secret summary{cursor:pointer;list-style:none;font-weight:700;color:#80442b}
.hq-secret summary::-webkit-details-marker{display:none}
.hq-secret details[open] summary span{display:inline-block;font-size:0}
.hq-secret details p{font:italic 1rem/1.7 var(--serif,Georgia,serif);color:#304541}
.hq-secret details a{color:#92532c;font-weight:700}
.hq-secret-footer{font:800 .63rem/1.5 var(--sans,Arial,sans-serif);letter-spacing:.1em;color:#8a6b4d;margin:23px 0 0}
.hq-next{padding:82px 0;background:#12222b;color:#f5ebdd}
.hq-next-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);align-items:center;gap:60px}
.hq-next .eyebrow{color:#e9b56e}
.hq-next h2{font-size:clamp(2.6rem,4.2vw,4.3rem);margin:12px 0 20px}
.hq-next p{max-width:790px;line-height:1.7;color:#cbd7d1;font-size:1.05rem}
.hq-next-buttons{display:flex;flex-direction:column;gap:14px;align-items:stretch}
@media(max-width:1100px){.hq-hero-grid{grid-template-columns:1fr .45fr}.hq-rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hq-method-steps{grid-template-columns:repeat(3,1fr)}.hq-crew-grid{gap:5%}}
@media(max-width:760px){.hq-hero{min-height:0}.hq-hero-landscape{inset:0}.hq-hero-landscape img{object-position:62% center;opacity:.7}.hq-hero:before{background:linear-gradient(90deg,#091b27e8,#0b1b26bc),linear-gradient(0deg,#081a24ba,transparent)}.hq-hero-grid{grid-template-columns:1fr;gap:18px;padding-top:130px;padding-bottom:47px}.hq-hero h1{font-size:clamp(3.2rem,10.7vw,5.5rem)}.hq-hero-postcard{justify-self:start;max-width:320px;padding:14px 19px;transform:rotate(1deg);margin-top:24px}.hq-hero-postcard strong{margin:12px 0 7px;font-size:1.48rem}.hq-postcard-icon{font-size:1.6rem}.hq-hero-micro{font-size:.59rem}.hq-signpost-inner{gap:9px 17px}.hq-signpost-inner strong{width:100%}.hq-welcome,.hq-rooms,.hq-crew,.hq-method,.hq-principles,.hq-next{padding:56px 0}.hq-welcome-layout,.hq-section-heading,.hq-crew-grid,.hq-principles-grid,.hq-next-layout{grid-template-columns:1fr;gap:20px}.hq-rooms-grid{grid-template-columns:1fr;gap:18px}.hq-room{min-height:340px}.hq-room-door{min-height:270px}.hq-crew-photo{margin-bottom:22px}.hq-method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hq-next-buttons{margin-top:12px}.hq-secret{transform:none}}
@media(max-width:420px){.hq-hero h1{font-size:3.2rem}.hq-method-steps{grid-template-columns:1fr}.hq-room-title{font-size:1.9rem}.hq-room{padding:13px}.hq-button{width:100%}}
@media(prefers-reduced-motion:reduce){.hq-room,.hq-button{transition:none}.hq-room:hover,.hq-room:focus-visible,.hq-button:hover,.hq-button:focus-visible{transform:none}}
@media print{.hq-hero,.hq-rooms,.hq-crew,.hq-method,.hq-principles,.hq-next{background:#fff!important;color:#152b30!important;padding:22px 0!important}.hq-hero-landscape,.hq-secret,.hq-room-knob{display:none}.hq-room{box-shadow:none;min-height:0;break-inside:avoid}.hq-room-door{min-height:225px}.hq-method-steps{display:block}.hq-crew-photo{max-width:430px}}

/* Boathouse 2.1: restrained usability, accessibility and print refinements */
html{scroll-behavior:smooth}
.hq-world [id]{scroll-margin-top:24px}
.hq-room-title{margin:0;color:inherit}
.hq-room-top{min-height:25px}
.hq-room-link{border-top:1px solid #e6c59a44;margin-top:10px}
.hq-room:hover .hq-room-knob,.hq-room:focus-visible .hq-room-knob{box-shadow:0 0 0 5px #e8b56e44,0 0 16px #e8b56ecc}
.hq-room-title,.hq-room-descr{position:relative;z-index:1}
.hq-rooms-end{line-height:1.7}
.hq-rooms-end span{margin:0 10px;color:#a3b6ac}
.hq-return-map{display:inline-block;margin-left:28px}
.hq-secret summary{padding:11px 4px;min-height:44px;display:flex;align-items:center;gap:14px;justify-content:space-between}
.hq-secret summary span{color:#90532e;font:800 1.3rem var(--sans,Arial,sans-serif)}
.hq-secret details[open] summary span::after{content:"−";font-size:1.3rem;line-height:1}
@media(max-width:1100px) and (min-width:761px){
 .hq-hero-grid{grid-template-columns:minmax(0,1fr) minmax(195px,.46fr);gap:20px}
 .hq-hero-postcard{transform:rotate(1deg);padding:15px;max-width:245px}
 .hq-hero-postcard strong{font-size:1.4rem;margin:18px 0 8px}
 .hq-hero-postcard p{font-size:1.05rem}
}
@media(max-width:760px){
 .hq-signpost-inner{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;scroll-snap-type:x proximity;gap:12px;padding-bottom:10px}
 .hq-signpost-inner strong{width:auto;flex:0 0 auto;white-space:nowrap}
 .hq-signpost-inner a{flex:0 0 auto;scroll-snap-align:start;padding:10px 12px;border:1px solid #9165315c;min-height:44px;display:inline-flex;align-items:center}
 .hq-rooms-grid{gap:15px}
 .hq-room{min-height:0;padding:11px 14px 12px}
 .hq-room-top{margin-bottom:7px}
 .hq-room-door{min-height:0;padding:27px 28px 25px;border-width:4px;border-bottom-width:7px}
 .hq-room-window{font-size:2.15rem;margin-bottom:10px}
 .hq-room-title{font-size:clamp(1.7rem,5.7vw,2.12rem);max-width:320px}
 .hq-room-descr{margin-top:9px;max-width:310px;font-size:.91rem;line-height:1.52}
 .hq-room-link{padding:11px 0 0;margin-top:7px}
 .hq-room-knob{bottom:18px;right:15px;width:9px;height:9px}
 .hq-rooms-end span{display:none}
 .hq-rooms-end a{display:inline-block;margin:4px 8px}
 .hq-hero-postcard{max-width:300px}
 .hq-return-map{display:block;margin:20px 0 0}
 .hq-crew-photo{transform:none}
 .hq-photo-stamp{top:-11px;right:-7px;transform:rotate(5deg);padding:9px;font-size:.62rem}
 .hq-method-steps{margin-top:24px}
 .hq-method-steps li{padding:16px}
 .hq-method-steps strong{margin:9px 0}
}
@media(max-width:420px){
 .hq-room-door{padding:20px 18px 22px}
 .hq-hero-grid{padding-top:119px}
 .hq-hero h1{font-size:clamp(2.9rem,10vw,3.2rem)}
 .hq-hero-postcard{max-width:100%}
 .hq-signpost-inner{margin-right:-12px}
 .hq-next-buttons .hq-button{max-width:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 .hq-hero h1,.hq-hero h1 em,.hq-hero .eyebrow,.hq-hero .hq-lead,.hq-hero-note,.hq-hero-micro,.hq-breadcrumb,.hq-breadcrumb a,.hq-rooms .eyebrow,.hq-rooms h2,.hq-rooms .hq-section-heading>p,.hq-crew h2,.hq-method h2,.hq-method .eyebrow,.hq-method .hq-section-heading>p,.hq-principles h2,.hq-next h2,.hq-next p{color:#152b30!important}
 .hq-room,.hq-room-door,.hq-method-steps li,.hq-hero-postcard{background:#fff!important;color:#152b30!important;box-shadow:none!important}
 .hq-room-door{min-height:170px;padding:14px;border:2px solid #a89b8e}
 .hq-room-title,.hq-room-descr,.hq-room-top,.hq-room-link,.hq-method-steps strong,.hq-method-steps p,.hq-method-steps li>span{color:#152b30!important}
 .hq-rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hq-room{break-inside:avoid;min-height:0;border:1px solid #c0b19b}
 .hq-signpost,.hq-next-buttons,.hq-hero-postcard,.hq-secret{display:none!important}
 .hq-method-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hq-crew-photo{max-width:440px;transform:none}
}

/* Print: preserve legible typography when browser suppresses background colors. */
@media print{
 .hq-rooms h2 em,.hq-method h2 em,.hq-principles h2 em,.hq-next .eyebrow,.hq-welcome h2 em,.hq-crew h2 em,.hq-crew .eyebrow{color:#273b3d!important}
 .hq-secret details[open] summary span::after{color:#273b3d!important}
}
