/* Brand review, round 1. Editorial serif; technical and interface sans. */
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}
h3{line-height:1.2}
.harbour-title h1{font-size:clamp(58px,6.2vw,96px);line-height:1.08}
.harbour-title h1 span{font-style:normal;letter-spacing:inherit}
.directory-mast h1,.register-mast h1{font-size:clamp(52px,6.3vw,88px)}
.story-mast h1{font-size:clamp(48px,5.5vw,82px)}
.chapter-copy h2{font-family:var(--sans);font-weight:600;letter-spacing:-.015em;line-height:1.16}
#enquiry-form h2,.contact-layout aside h2{font-family:var(--sans);font-weight:600;letter-spacing:-.015em;line-height:1.2}
.brand{width:250px}.masthead{min-height:112px}
.footer-name img{width:350px;height:auto;max-width:100%}
.footer-name>span{font-size:12px;letter-spacing:1.3px}
.logo-display{grid-template-columns:1fr;gap:20px}
.logo-paper,.logo-navy,.logo-compact{grid-column:1/-1;padding:32px}
.logo-paper img{width:420px;max-width:100%;margin:auto}
.logo-navy img{width:300px;max-width:100%;margin:auto}
.logo-compact img{width:250px;max-width:100%;margin:auto}
@media(max-width:1000px){.brand{width:225px}.masthead{min-height:98px}}
@media(max-width:700px){
 .brand{width:200px}.masthead{min-height:90px;gap:15px}
 .harbour-title h1{font-size:clamp(39px,10.1vw,64px);line-height:1.12}
 .directory-mast h1,.register-mast h1{font-size:clamp(44px,11.7vw,58px)}
 .story-mast h1{font-size:clamp(40px,10.8vw,54px)}
 .contact-hero h1{font-size:clamp(40px,10.8vw,54px)}
 .footer-name img{width:280px;max-width:100%;height:auto}
 .logo-paper,.logo-navy,.logo-compact{padding:28px 16px}
 .logo-navy img{width:220px}.logo-compact img{width:230px}
}

/* Round 3: readable form guidance and uncluttered controls at narrow widths. */
#enquiry-form label{font-size:16px;line-height:1.5}
.form-note{font-size:16px!important;line-height:1.55}
#brief-status,.email-preview pre{font-size:16px;line-height:1.55}
@media(max-width:700px){#enquiry-form button[type=submit]{width:100%;gap:16px;padding:16px}}
@media(max-width:380px){.brand{width:180px}.masthead{gap:12px}.menu-toggle{gap:8px;padding:10px 8px}.footer-name img{width:250px;height:auto}}

/* Round 2: consistent reading scale, short labels and legible drawing captions. */
.eyebrow,.directory-code,.chapter-number,.board-facts span,.register-lines>a>span:first-child,
.harbour-caption,.reveal-caption,.footer-name>span,.draft-label,.footer-bottom .draft-label,
.logo-compact span,.application-reveal figcaption,.wide-photo figcaption{font-size:12px;line-height:1.5;letter-spacing:1px}
.site-header nav>a{font-size:16px}.header-phone{font-size:14px}
.yard-location span{font-size:12px;letter-spacing:.8px}
.directory-grid p,.register-lines p,.rule-list{font-size:16px;line-height:1.55}
.directory-all{font-size:16px;line-height:1.5}
.board-facts strong{line-height:1.3}
.dock-plan figcaption{font-size:14px;line-height:1.5;margin-top:12px;max-width:65ch}
.dock-plan figcaption strong{display:block;font-size:17px;font-weight:600;color:var(--paper);margin-bottom:7px}
.spec-table dd span{font-size:15px;line-height:1.5}
.section-nav a{font-size:16px}.tags li{font-size:14px;line-height:1.5}
.service-index a{line-height:1.5}.contact-note p,.chapter-copy p{line-height:1.6}
@media(max-width:700px){
 .harbour-title .eyebrow,.harbour-caption{font-size:12px;letter-spacing:.8px}
 .harbour-caption{padding:16px 0}.harbour-caption a{font-size:16px}
 .facility-mast h1{font-size:clamp(44px,12vw,54px);line-height:1.12}
 .directory-grid>a{padding:24px 18px}.directory-grid h3{font-size:24px;line-height:1.2}
 .directory-grid p,.register-lines p,.directory-all{font-size:16px}
 .board-facts span{font-size:12px;letter-spacing:.7px}.board-facts strong{font-size:27px}
 .section-nav a{font-size:15px}.service-index a{font-size:16px}
 .dock-plan svg text{display:none}.dock-plan figcaption{font-size:14px}
 .reveal-caption,.application-reveal figcaption,.logo-compact span{font-size:12px;letter-spacing:.7px}
 .palette small{font-size:12px;letter-spacing:.7px}
 .footer-bottom,.footer-bottom .draft-label{font-size:12px}.footer-name>span{font-size:12px}
 .footer-contact{line-height:1.7}
}
