/* Travelers Harbor theme 1.0.1. Tokens first, then sections in page order. */
:root{
	--trh-burgundy:#500b11; --trh-burgundy-deep:#3a0a0e; --trh-ink:#220c07;
	--trh-gold:#c7a171; --trh-gold-deep:#a1784a; --trh-gold-light:#e4c9a1;
	--trh-cream:#f2ece1; --trh-cream-light:#faf7f1; --trh-leaf:#403410; --trh-leather:#784c25;
	--trh-font-display:"Cinzel",Georgia,serif;
	--trh-font-body:"Cormorant Garamond",Garamond,"Times New Roman",serif;
	--trh-font-script:"Pinyon Script","Brush Script MT",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--trh-cream);color:var(--trh-ink);font-family:var(--trh-font-body);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.trh-wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.trh-skip{position:absolute;left:-999px;top:8px;background:var(--trh-burgundy);color:var(--trh-gold-light);padding:10px 16px;z-index:10}
.trh-skip:focus{left:8px}
.trh-rule{display:flex;align-items:center;gap:14px;justify-content:center;color:var(--trh-gold-deep)}
.trh-rule::before,.trh-rule::after{content:"";flex:1;max-width:160px;height:1px;background:var(--trh-gold)}
.trh-rule svg{width:22px;height:22px}

/* Hero. The monogram keeps its own ratio: width from CSS, height auto, no cropping or stretching. */
.trh-hero{padding:calc(48px + env(safe-area-inset-top)) 0 64px;text-align:center;position:relative;overflow:hidden}
.trh-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.55),transparent 60%);pointer-events:none}
.trh-hero .trh-wrap{position:relative}
.trh-mono{width:min(520px,78vw);height:auto;aspect-ratio:auto;object-fit:contain;margin:0 auto 18px}
.trh-brand{font-family:var(--trh-font-display);font-weight:500;color:var(--trh-burgundy);font-size:clamp(34px,6.4vw,66px);letter-spacing:.06em;line-height:1.05;margin:0}
.trh-descriptor{font-family:var(--trh-font-display);font-size:clamp(12px,1.6vw,16px);letter-spacing:.42em;color:var(--trh-ink);margin:16px 0 0;text-transform:uppercase}
.trh-descriptor small{display:block;font-size:.8em;letter-spacing:.38em;color:var(--trh-gold-deep);margin-top:6px}
.trh-hero .trh-rule{margin-top:22px}
.trh-tagline{font-family:var(--trh-font-script);font-size:clamp(34px,5.4vw,58px);color:var(--trh-burgundy);margin:34px 0 0;line-height:1.1}
.trh-opening{margin:26px auto 0;font-size:22px;font-style:italic}
.trh-opening b{font-style:normal;font-weight:600;color:var(--trh-burgundy)}
.trh-cta{display:inline-block;margin-top:30px;background:var(--trh-burgundy);color:var(--trh-gold-light);text-decoration:none;font-family:var(--trh-font-display);font-size:15px;letter-spacing:.2em;padding:16px 34px;border:1px solid var(--trh-gold);transition:background .2s}
.trh-cta:hover,.trh-cta:focus-visible{background:var(--trh-burgundy-deep)}
.trh-cta:focus-visible{outline:2px solid var(--trh-gold-deep);outline-offset:3px}

/* Photo band */
.trh-band{background:var(--trh-burgundy-deep)}
.trh-frame{max-width:1180px;margin:0 auto;position:relative}
.trh-frame img{width:100%;height:clamp(300px,52vw,560px);object-fit:cover;object-position:center 60%}
.trh-caption{position:absolute;left:0;right:0;bottom:0;padding:26px 28px 22px;background:linear-gradient(transparent,rgba(58,10,14,.85));color:var(--trh-gold-light);font-style:italic;font-size:20px;text-align:center}
.trh-caption span{display:block;font-family:var(--trh-font-display);font-style:normal;font-size:12px;letter-spacing:.32em;color:var(--trh-gold);margin-top:6px}

/* The house and map */
.trh-place{background:var(--trh-burgundy);color:var(--trh-cream);padding:88px 0 96px}
.trh-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.trh-place h2{font-family:var(--trh-font-display);font-weight:400;font-size:clamp(28px,3.6vw,40px);letter-spacing:.04em;margin:0 0 18px;color:var(--trh-gold-light);line-height:1.2}
.trh-place p{margin:0 0 18px;font-size:20px;max-width:46ch;color:#efe4d3}
.trh-addr{font-family:var(--trh-font-display);font-size:15px;letter-spacing:.18em;color:var(--trh-gold);margin:26px 0 0!important}
.trh-maplink{display:inline-block;margin-top:14px;color:var(--trh-gold-light);text-decoration:none;border-bottom:1px solid var(--trh-gold);padding-bottom:2px;font-style:italic}
.trh-maplink:hover,.trh-maplink:focus-visible{color:#fff}
.trh-map{background:#e9dfcd;border:1px solid var(--trh-gold);padding:6px;box-shadow:0 0 0 6px var(--trh-burgundy),0 0 0 7px var(--trh-gold)}
.trh-map svg,.trh-map img{width:100%;height:auto;display:block}

/* Signup */
.trh-signup{padding:92px 0 88px;text-align:center}
.trh-signup h2{font-family:var(--trh-font-display);font-weight:400;font-size:clamp(26px,3.4vw,38px);letter-spacing:.05em;color:var(--trh-burgundy);margin:22px 0 12px}
.trh-signup p{max-width:52ch;margin:0 auto 34px;font-size:20px}
.trh-form{max-width:640px;margin:0 auto}
.trh-form-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px}
.trh-form input[type=text],.trh-form input[type=email]{font:inherit;font-size:18px;padding:14px 16px;border:1px solid var(--trh-gold-deep);background:var(--trh-cream-light);color:var(--trh-ink);min-width:0;width:100%}
.trh-form input::placeholder{color:#8a7a68;font-style:italic}
.trh-form input:focus-visible{outline:2px solid var(--trh-burgundy);outline-offset:2px}
.trh-form button{font-family:var(--trh-font-display);font-size:14px;letter-spacing:.18em;padding:14px 26px;background:var(--trh-burgundy);color:var(--trh-gold-light);border:1px solid var(--trh-gold);cursor:pointer}
.trh-form button:hover,.trh-form button:focus-visible{background:var(--trh-burgundy-deep)}
.trh-form button:focus-visible{outline:2px solid var(--trh-gold-deep);outline-offset:3px}
.trh-form button[disabled]{opacity:.6;cursor:wait}
.trh-consent{margin:16px auto 0;font-size:15px;color:#5b4a3c;max-width:56ch;display:flex;gap:10px;justify-content:center;align-items:flex-start;text-align:left}
.trh-consent input{margin-top:6px;accent-color:var(--trh-burgundy)}
.trh-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.trh-form.trh-done{display:none}
.trh-signup-msg{margin:24px auto 0;font-size:20px;font-style:italic;max-width:52ch}
.trh-signup-msg.is-ok{color:var(--trh-burgundy);font-size:22px}
.trh-signup-msg.is-error{color:#8a1c1c}
.trh-contact{margin:44px auto 0!important;font-size:18px}
.trh-contact a{color:var(--trh-burgundy);text-decoration:none;border-bottom:1px solid var(--trh-gold)}

/* Footer, all lines editable in Site Copy */
.trh-footer{background:var(--trh-burgundy-deep);color:var(--trh-gold-light);padding:46px 0 calc(40px + env(safe-area-inset-bottom));text-align:center;font-size:16px}
.trh-footer-brand{font-family:var(--trh-font-display);letter-spacing:.2em;font-size:14px;color:var(--trh-gold);margin-bottom:10px}
.trh-footer p{margin:6px 0;color:#d9c4a3}
.trh-credit{margin-top:22px!important;font-size:14px;color:#a98c68}
.trh-credit a{color:var(--trh-gold);text-decoration:none}
.trh-footer-link{color:var(--trh-gold-light);text-decoration:none;border-bottom:1px solid var(--trh-gold)}

/* Plain pages (Phase 2 scaffold) */
.trh-plain{padding:64px 0}
.trh-plain h1{font-family:var(--trh-font-display);font-weight:400;color:var(--trh-burgundy)}

@media (max-width:820px){
	.trh-grid{grid-template-columns:1fr;gap:40px}
	.trh-form-row{grid-template-columns:1fr}
	.trh-place{padding:64px 0 72px}
	.trh-signup{padding:70px 0 64px}
	.trh-hero{padding-bottom:52px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
