@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --navy: #071d2b;
  --navy-deep: #04141e;
  --navy-soft: #103246;
  --gold: #c8a96a;
  --gold-dark: #a98748;
  --ivory: #f5f1e9;
  --paper: #fcfbf7;
  --ink: #17242d;
  --slate: #5d6c75;
  --mist: #dfe5e6;
  --white: #fff;
  --display: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', Arial, sans-serif;
  --frame: min(1200px, calc(100% - 96px));
  --reading: 680px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a, summary, select, input, textarea { outline-color: var(--gold); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; line-height: .98; }
h1 em, h2 em { color: var(--gold); font-weight: 500; }
.eyebrow { margin: 0 0 20px; color: var(--gold-dark); font: 700 11px/1.2 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.section-index { color: #80909a; font: 600 10px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.button { align-items: center; border: 1px solid transparent; display: inline-flex; justify-content: center; min-height: 50px; padding: 0 26px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: .2s ease; }
.button-gold { background: var(--gold); color: var(--navy-deep); }
.button-gold:hover { background: #d8bd83; transform: translateY(-1px); }
.button-outline { border-color: rgba(255,255,255,.6); color: #fff; }
.button-outline:hover { background: #fff; color: var(--navy); }
.button-dark { background: var(--navy); color: #fff; }

.site-header { position: sticky; top: 0; z-index: 40; min-height: 86px; padding: 0 max(40px, calc((100vw - 1200px)/2)); background: rgba(4,20,30,.96); color: #fff; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 42px; border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 13px; font-size: 19px; letter-spacing: .06em; line-height: 1; }
.brand-mark { width: 39px; height: 39px; border: 1px solid var(--gold); display: grid; place-items: center; color: var(--gold); font-family: var(--display); font-size: 20px; }
.brand small { display: block; margin-top: 8px; color: #90a1ab; font-size: 8px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.site-header nav { display: flex; gap: 30px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.site-header nav a { padding: 12px 0; border-bottom: 1px solid transparent; }
.site-header nav a:hover { border-color: var(--gold); color: var(--gold); }
.header-cta { min-height: 42px; padding: 0 18px; display: inline-flex; align-items: center; background: var(--gold); color: var(--navy); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.page-hero { min-height: 690px; background-size: cover; background-position: center; color: #fff; display: grid; align-items: center; }
.hero-inner { width: var(--frame); margin: 0 auto; padding: 90px 0 100px; }
.page-hero .eyebrow { color: #ead7ae; }
.page-hero h1 { max-width: 900px; margin: 0 0 28px; font-size: clamp(58px, 6.8vw, 98px); letter-spacing: -.035em; }
.page-hero h1 em { display: block; }
.hero-subtitle { max-width: 650px; margin-bottom: 35px; color: #d9e0e2; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.content-frame { width: var(--frame); margin: 0 auto; }
.breadcrumb { padding: 26px 0; display: flex; gap: 10px; flex-wrap: wrap; color: #74828a; border-bottom: 1px solid var(--mist); font-size: 11px; letter-spacing: .04em; }
.breadcrumb strong { color: var(--ink); font-weight: 600; }
.intro-block { padding: 96px 0 70px; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 60px; }
.lede { max-width: 890px; margin: 0; font-family: var(--display); font-size: clamp(30px, 3.2vw, 46px); line-height: 1.25; }

.toc { margin: 0 0 34px 240px; padding: 34px 38px; background: #fff; border: 1px solid var(--mist); box-shadow: 0 16px 50px rgba(20,39,49,.05); }
.toc ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }
.toc li:nth-child(odd) { border-right: 1px solid var(--mist); padding-right: 28px; }
.toc li:nth-child(even) { padding-left: 28px; }
.toc li { border-top: 1px solid var(--mist); }
.toc li:nth-child(-n+2) { border-top: 0; }
.toc a { min-height: 56px; display: flex; align-items: center; gap: 14px; font-family: var(--display); font-size: 19px; }
.toc a span { color: var(--gold-dark); font: 600 9px var(--sans); }
.toc a:hover { color: var(--gold-dark); }
.facts { margin: 0 0 112px 240px; padding: 28px 34px; border-left: 4px solid var(--gold); background: var(--ivory); }
.facts ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 34px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.facts li::before { content: '—'; color: var(--gold-dark); margin-right: 10px; }

.band { padding: 112px max(48px, calc((100vw - 1200px)/2)); }
.band-ivory { background: var(--ivory); }
.section-heading { max-width: 1200px; margin: 0 auto 60px; display: grid; grid-template-columns: 180px 1fr; gap: 60px; }
.section-heading h2 { max-width: 760px; margin: 0 0 20px; font-size: clamp(48px, 5.1vw, 72px); }
.section-heading > div > p:last-child { max-width: 640px; color: var(--slate); }
.harbour-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: .95fr 1.05fr; gap: 28px; }
.table-scroll { overflow-x: auto; background: #fff; }
table { width: 100%; border-collapse: collapse; min-width: 490px; }
th, td { padding: 20px 24px; border-bottom: 1px solid var(--mist); text-align: left; vertical-align: top; }
th { width: 38%; color: #6e7c84; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
td { font-family: var(--display); font-size: 19px; }
td small { display: block; color: #98a3a9; font: 9px var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.map-card { background: var(--navy); color: #fff; }
.map-card iframe { width: 100%; height: 330px; border: 0; filter: grayscale(.45); }
.map-card > div { padding: 20px 24px; display: flex; justify-content: space-between; gap: 20px; }
.map-card span { color: #8ca0aa; font-size: 11px; }

.reading-section { width: var(--frame); margin: 0 auto; padding: 116px 0; display: grid; grid-template-columns: 180px minmax(0, var(--reading)); gap: 60px; }
.reading-copy h2 { margin: 0 0 34px; font-size: clamp(46px, 5vw, 66px); }
.reading-copy > p:not(.eyebrow) { margin-bottom: 24px; color: #3f4d55; font-size: 17px; line-height: 1.9; }
blockquote { margin: 54px -80px 12px 0; padding: 6px 0 6px 30px; border-left: 3px solid var(--gold); font-family: var(--display); font-size: 34px; font-style: italic; line-height: 1.25; }
.text-link { display: inline-flex; gap: 30px; margin-top: 22px; padding: 0 0 9px; border-bottom: 1px solid var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { color: var(--gold-dark); }
.editorial-image { width: min(1040px, calc(100% - 96px)); margin: 0 auto; }
.editorial-image.right { transform: translateX(80px); }
.editorial-image.left { transform: translateX(-80px); }
.editorial-image img { width: 100%; aspect-ratio: 16/8.5; object-fit: cover; }
.editorial-image figcaption { padding: 13px 0; color: #77858d; font-size: 11px; letter-spacing: .04em; border-bottom: 1px solid var(--mist); }

.process-band { padding: 105px max(48px, calc((100vw - 1200px)/2)); background: var(--navy); color: #fff; }
.process-heading { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 58px; }
.process-heading h2 { margin: 0; font-size: clamp(46px, 5vw, 68px); }
.process-band ol { display: grid; grid-template-columns: repeat(var(--process-columns, 4), 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid #315060; }
.process-band > ol > li { min-height: 185px; padding: 26px 22px; border-right: 1px solid #315060; display: flex; flex-direction: column; }
.process-band > ol > li:first-child { border-left: 1px solid #315060; }
.process-band > ol > li > span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.process-band > ol > li > strong { margin: auto 0 10px; font-family: var(--display); font-size: 27px; font-weight: 500; }
.process-band > ol > li > small { color: #9cb0ba; font-size: 11px; }

.broker-section { padding: 20px 0 112px; }
.broker-card { margin-left: 240px; display: grid; grid-template-columns: 42% 58%; background: var(--navy); color: #fff; }
.broker-card img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; filter: saturate(.72); }
.broker-card > div { padding: 65px; }
.broker-card h3 { margin: 0 0 8px; font-size: 56px; }
.broker-role { color: var(--gold); }
.broker-card > div > p:not(.eyebrow):not(.broker-role) { color: #b6c1c6; }
.credential-list { margin: 28px 0 34px; padding: 22px 0; list-style: none; border-top: 1px solid #294656; border-bottom: 1px solid #294656; color: #dfe6e8; font-size: 13px; }
.credential-list li { padding: 5px 0; }
.credential-list li::before { content: '✓'; color: var(--gold); margin-right: 11px; }
.state-note { margin: 25px 0 0 240px; padding: 24px; display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 28px; border: 1px dashed #a6b1b6; background: #eef1f1; }
.state-note > span, .state-label { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.state-note strong { font-family: var(--display); font-size: 23px; }
.state-note p { margin: 3px 0 0; color: var(--slate); font-size: 12px; line-height: 1.6; }

.inventory { grid-column: 1 / -1; margin-top: 85px; }
.inventory-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 30px; }
.inventory-head h2 { margin: 0; font-size: clamp(48px, 5vw, 70px); }
.inventory-head > span { padding-bottom: 10px; color: var(--slate); font-size: 11px; }
.filter-bar { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 1px; margin-bottom: 32px; background: #cfd8dc; border: 1px solid #cfd8dc; }
.filter-bar label { padding: 13px 16px; background: #fff; }
.filter-bar label span { display: block; color: #839097; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.filter-bar select { width: 100%; padding: 6px 20px 2px 0; border: 0; background: #fff; color: var(--ink); font-family: var(--display); font-size: 18px; }
.filter-bar button { border: 0; padding: 0 25px; background: var(--navy); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.boat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.boat-card { background: #fff; border: 1px solid var(--mist); transition: .2s ease; }
.boat-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(20,39,49,.1); }
.boat-visual { position: relative; aspect-ratio: 16/10; background-size: cover; background-position: center; }
.boat-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,20,30,.5), transparent 55%); }
.boat-visual span { position: absolute; z-index: 1; left: 17px; bottom: 14px; padding: 4px 9px; background: var(--gold); color: var(--navy); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.boat-1, .boat-3, .boat-5 { background-image: url('images/08-barche-sailing-yacht-for-sale.jpg'); }
.boat-2, .boat-4, .boat-6 { background-image: url('images/09-barche-motoryacht-for-sale.jpg'); }
.boat-2, .boat-5 { background-position: 70% center; }
.boat-3, .boat-6 { background-position: 35% center; filter: saturate(.8); }
.boat-body { padding: 22px; }
.boat-body small { color: #89969c; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.boat-body h3 { min-height: 56px; margin: 10px 0 13px; font-size: 26px; }
.boat-body > div { display: flex; justify-content: space-between; padding: 13px 0; border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); font-size: 13px; }
.boat-body a { display: flex; justify-content: space-between; margin-top: 18px; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.boat-body a span { color: var(--gold-dark); }
.empty-state-demo { margin-top: 40px; padding: 38px; display: grid; grid-template-columns: 160px 72px 1fr auto; align-items: center; gap: 28px; border: 1px dashed #a9b4b9; background: var(--ivory); }
.empty-icon { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-dark); font-family: var(--display); font-size: 35px; }
.empty-state-demo h3 { margin: 0 0 7px; font-size: 26px; }
.empty-state-demo p { margin: 0; color: var(--slate); font-size: 13px; }

.faq { width: var(--frame); margin: 0 auto; padding: 115px 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq h2 { font-size: clamp(48px, 5vw, 68px); }
.faq details { border-top: 1px solid var(--mist); }
.faq details:last-child { border-bottom: 1px solid var(--mist); }
.faq summary { min-height: 80px; display: grid; grid-template-columns: 35px 1fr 30px; align-items: center; gap: 16px; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--gold-dark); font-size: 9px; }
.faq summary strong { font-family: var(--display); font-size: 23px; font-weight: 500; }
.faq summary b { font-size: 20px; font-weight: 400; }
.faq details[open] summary b { transform: rotate(45deg); }
.faq details p { margin: 0; padding: 0 45px 25px 51px; color: var(--slate); font-size: 14px; }
.references { width: var(--frame); margin: 0 auto 90px; padding: 20px 0; display: flex; flex-wrap: wrap; gap: 12px 28px; border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); font-size: 11px; }
.references span { color: var(--gold-dark); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.references a { text-decoration: underline; text-decoration-color: #bcc6ca; text-underline-offset: 4px; }
.sister-links { width: var(--frame); margin: 0 auto 110px; }
.sister-links > div { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--mist); border-left: 1px solid var(--mist); }
.sister-links a { min-height: 76px; padding: 0 24px; display: grid; grid-template-columns: 36px 1fr 25px; align-items: center; gap: 12px; border-right: 1px solid var(--mist); border-bottom: 1px solid var(--mist); font-family: var(--display); font-size: 19px; }
.sister-links a span { color: var(--gold-dark); font: 9px var(--sans); }
.sister-links a b { color: var(--gold-dark); }
.sister-links a.current { background: var(--ivory); }

.form-band { padding: 115px max(48px, calc((100vw - 1200px)/2)); background: var(--navy); color: #fff; display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.form-climax { padding-top: 145px; padding-bottom: 145px; background: linear-gradient(135deg, #04141e 0%, #0e3145 100%); }
.form-pitch { position: sticky; top: 130px; }
.form-pitch h2 { margin: 0 0 30px; font-size: clamp(52px, 5.6vw, 76px); }
.form-pitch > p:not(.eyebrow) { max-width: 500px; color: #b3c0c6; }
.form-pitch ul { margin: 34px 0 0; padding: 22px 0; list-style: none; border-top: 1px solid #2b4a5a; border-bottom: 1px solid #2b4a5a; color: #dfe6e9; font-size: 12px; }
.form-pitch li { padding: 6px 0; }
.form-pitch li::before { content: '✓'; margin-right: 12px; color: var(--gold); }
.lead-form { padding: 44px; background: #fff; color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.18); }
.form-title { margin-bottom: 28px; padding-bottom: 23px; border-bottom: 1px solid var(--mist); }
.form-title span { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.form-title h3 { margin: 8px 0 0; font-size: 38px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lead-form label { display: block; margin-bottom: 18px; color: #56656d; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lead-form input:not([type="checkbox"]), .lead-form textarea { width: 100%; margin-top: 7px; padding: 13px 0; border: 0; border-bottom: 1px solid #cfd7da; border-radius: 0; color: var(--ink); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.lead-form textarea { resize: vertical; }
.consent { display: flex!important; gap: 9px; align-items: flex-start; text-transform: none!important; letter-spacing: 0!important; font-weight: 400!important; line-height: 1.5; }
.consent input { margin-top: 4px; }
.lead-form .button { width: 100%; border: 0; cursor: pointer; }
.lead-form > small { display: block; margin-top: 12px; color: #95a0a5; font-size: 9px; text-align: center; }
.final-cta { padding: 40px max(48px, calc((100vw - 1200px)/2)); background: var(--gold); color: var(--navy); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.final-cta .eyebrow { display: block; margin-bottom: 5px; color: #705b32; }
.final-cta strong { font-family: var(--display); font-size: 30px; font-weight: 600; }
.final-cta .button-gold { background: var(--navy); color: #fff; }

.site-footer { padding: 80px max(48px, calc((100vw - 1200px)/2)) 28px; background: var(--navy-deep); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 70px; }
.footer-logo { font-size: 22px; letter-spacing: .06em; }
.footer-grid p { color: #8297a1; font-size: 12px; }
.footer-grid > div > span { display: block; margin-bottom: 18px; color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid > div > a { display: block; padding: 5px 0; color: #b8c4c9; font-size: 12px; }
.footer-base { margin-top: 65px; padding-top: 22px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid #253e4b; color: #687f8b; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.brief-home { min-height: 100vh; background: var(--navy); color: #fff; }
.brief-hero { padding: 70px max(48px, calc((100vw - 1200px)/2)) 100px; background: radial-gradient(circle at 75% 20%, #1a4357, transparent 37%), var(--navy); }
.brief-brand { margin-bottom: 120px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.brief-hero h1 { max-width: 950px; margin: 0 0 35px; font-size: clamp(70px, 9vw, 125px); letter-spacing: -.05em; }
.brief-intro { max-width: 720px; color: #adc0c9; font-size: 18px; }
.template-chooser { width: var(--frame); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--paper); color: var(--ink); transform: translateY(-35px); box-shadow: 0 30px 90px rgba(0,0,0,.2); }
.template-choice { min-height: 430px; padding: 44px 38px; display: flex; flex-direction: column; border-right: 1px solid var(--mist); }
.template-choice:last-child { border-right: 0; }
.choice-number { margin-bottom: 70px; color: var(--gold-dark); font-size: 10px; }
.template-choice h2 { margin: 0 0 20px; font-size: 43px; }
.template-choice p { color: var(--slate); font-size: 13px; }
.choice-link { margin-top: auto; padding-top: 25px; display: flex; justify-content: space-between; border-top: 1px solid var(--mist); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.template-choice:hover { background: var(--ivory); }
.system-notes { padding: 90px max(48px, calc((100vw - 1200px)/2)) 130px; background: var(--paper); color: var(--ink); }
.system-notes > div:first-child { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.system-notes h2 { font-size: 58px; }
.token-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 40px 0 60px; }
.token { display: grid; grid-template-columns: 46px 1fr; grid-template-rows: 1fr 1fr; column-gap: 13px; padding: 18px; border: 1px solid var(--mist); }
.token > span { grid-row: 1 / 3; width: 46px; height: 46px; border: 1px solid #ced6d9; }
.token strong { font-size: 12px; }.token small { color: var(--slate); }
.notes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.notes-grid article { padding-top: 24px; border-top: 2px solid var(--gold); }
.notes-grid article > span { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.notes-grid h3 { margin: 20px 0 10px; font-size: 28px; }
.notes-grid p { color: var(--slate); font-size: 13px; }

@media (max-width: 980px) {
  :root { --frame: min(100% - 48px, 760px); }
  .site-header { min-height: 72px; grid-template-columns: 1fr auto; padding: 0 24px; }
  .site-header nav { display: none; }
  .header-cta { min-height: 40px; }
  .page-hero { min-height: 620px; background-position: 62% center; }
  .intro-block, .section-heading, .reading-section { grid-template-columns: 1fr; gap: 28px; }
  .toc, .facts, .broker-card, .state-note { margin-left: 0; }
  .harbour-grid { grid-template-columns: 1fr; }
  .editorial-image.left, .editorial-image.right { transform: none; }
  .process-heading { display: block; }
  .process-band ol { grid-template-columns: 1fr 1fr; }
  .boat-grid { grid-template-columns: 1fr 1fr; }
  .empty-state-demo { grid-template-columns: 120px 60px 1fr; }
  .empty-state-demo .button { grid-column: 2 / -1; justify-self: start; }
  .faq, .form-band { grid-template-columns: 1fr; gap: 55px; }
  .form-pitch { position: static; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
  .template-chooser { grid-template-columns: 1fr; }
  .template-choice { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--mist); }
  .choice-number { margin-bottom: 35px; }
}

@media (max-width: 760px) {
  :root { --frame: calc(100% - 40px); }
  body { font-size: 15px; }
  .brand { font-size: 15px; }.brand small { display: none; }.brand-mark { width: 34px; height: 34px; }
  .header-cta { padding: 0 13px; font-size: 8px; }
  .page-hero { min-height: 620px; }
  .hero-inner { padding: 70px 0; }
  .page-hero h1 { font-size: clamp(48px, 14vw, 68px); }
  .hero-subtitle { font-size: 15px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; min-height: 52px; }
  .breadcrumb { white-space: nowrap; overflow-x: auto; flex-wrap: nowrap; }
  .intro-block { padding: 68px 0 55px; }
  .lede { font-size: 30px; }
  .toc { padding: 25px; }
  .toc ol, .facts ul { grid-template-columns: 1fr; }
  .toc li:nth-child(odd) { border-right: 0; padding-right: 0; }.toc li:nth-child(even) { padding-left: 0; }.toc li:nth-child(2) { border-top: 1px solid var(--mist); }
  .facts { margin-bottom: 75px; }
  .band, .process-band, .form-band, .final-cta, .site-footer { padding-left: 20px; padding-right: 20px; }
  .band { padding-top: 76px; padding-bottom: 76px; }
  .section-heading h2, .reading-copy h2 { font-size: 45px; }
  .reading-section { padding: 78px 0; }
  .reading-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
  blockquote { margin: 42px 0 10px; font-size: 28px; }
  .editorial-image { width: calc(100% - 40px); }
  .editorial-image img { aspect-ratio: 4/3; }
  .process-band ol { grid-template-columns: 1fr; }
  .process-band > ol > li { min-height: 145px; border-left: 1px solid #315060; border-bottom: 1px solid #315060; }
  .broker-card { grid-template-columns: 1fr; }.broker-card img { min-height: 350px; }.broker-card > div { padding: 34px 28px; }.broker-card h3 { font-size: 45px; }
  .state-note { grid-template-columns: 1fr; }
  .inventory { margin-top: 60px; }
  .inventory-head { display: block; }
  .filter-bar { grid-template-columns: 1fr; }
  .filter-bar button { min-height: 52px; }
  .boat-grid { grid-template-columns: 1fr; }
  .empty-state-demo { padding: 28px; grid-template-columns: 1fr; text-align: center; }
  .empty-icon { margin: 0 auto; }.empty-state-demo .button { grid-column: auto; justify-self: stretch; }
  .faq { padding: 78px 0; gap: 30px; }.faq summary { min-height: 72px; }.faq summary strong { font-size: 20px; }
  .references { display: grid; }
  .sister-links > div { grid-template-columns: 1fr; }
  .form-band { padding-top: 78px; padding-bottom: 78px; }
  .lead-form { padding: 28px 22px; }.form-grid { grid-template-columns: 1fr; }
  .final-cta { display: grid; text-align: center; padding-top: 32px; padding-bottom: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-grid > div:last-child { grid-column: auto; }.footer-base { display: grid; }
  .brief-hero { padding: 45px 20px 85px; }.brief-brand { margin-bottom: 80px; }.brief-hero h1 { font-size: 58px; }.brief-intro { font-size: 15px; }
  .template-chooser { width: calc(100% - 40px); }.template-choice { padding: 34px 28px; }
  .system-notes { padding: 75px 20px 90px; }.system-notes > div:first-child { display: block; }.system-notes h2 { font-size: 46px; }.token-grid { grid-template-columns: 1fr 1fr; }.notes-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* --------------------------------------------------------------------------
   MASTERS 04–05 · HUB + TERRITORIO DISPONIBILE
   Extends the frozen system above; existing component classes remain intact.
   -------------------------------------------------------------------------- */

.prose-slot { width: var(--frame); margin: 0 auto; padding: 96px 0 36px; display: grid; grid-template-columns: 180px minmax(0, var(--reading)); gap: 60px; }
.prose-slot-copy { padding: 30px 0 0; border-top: 3px solid var(--gold); }
.prose-slot-copy p { margin: 0; color: #3f4d55; font-size: 17px; line-height: 1.95; }
.prose-slot-copy p::first-letter { float: left; margin: 7px 10px 0 0; color: var(--navy); font: 600 58px/.72 var(--display); }
.facts.facts-hub { margin-top: 34px; margin-bottom: 100px; }
.facts.facts-hub strong { display: block; color: var(--navy); font: 500 24px/1.1 var(--display); }
.facts.facts-hub span { color: var(--slate); font-size: 11px; }

.directory-section { padding: 112px max(48px, calc((100vw - 1200px)/2)); background: var(--ivory); }
.directory-head { max-width: 1200px; margin: 0 auto 42px; display: grid; grid-template-columns: 180px 1fr auto; gap: 60px; align-items: end; }
.directory-head h2 { max-width: 720px; margin: 0; font-size: clamp(48px, 5.1vw, 72px); }
.directory-count { padding: 10px 0; color: var(--slate); font-size: 11px; white-space: nowrap; }
.directory-count strong { display: block; color: var(--navy); font: 500 30px/1 var(--display); }
.directory-legend { max-width: 1200px; margin: -18px auto 22px; padding-left: 240px; color: #7a888f; font-size: 10px; }
.directory-table-wrap { max-width: 1200px; margin: 0 auto; background: #fff; border: 1px solid #d9e0e2; box-shadow: 0 20px 60px rgba(20,39,49,.06); }
.directory-table { min-width: 0; table-layout: fixed; }
.directory-table thead th { position: sticky; top: 86px; z-index: 2; width: auto; padding: 15px 18px; background: var(--navy); color: #b8c7ce; border-color: #294756; }
.directory-table th:nth-child(1) { width: 43%; }
.directory-table th:nth-child(2) { width: 20%; }
.directory-table th:nth-child(3) { width: 15%; }
.directory-table th:nth-child(4) { width: 15%; }
.directory-table th:nth-child(5) { width: 7%; text-align: center; }
.directory-table td { padding: 17px 18px; font: 400 14px/1.45 var(--sans); }
.directory-table tbody tr:nth-child(even) { background: #f9f8f4; }
.directory-table tbody tr:hover { background: #f2eee4; }
.directory-table td:first-child a { display: block; }
.directory-table td:first-child strong { display: block; font: 500 19px/1.2 var(--display); }
.directory-table td:first-child a > span { display: block; margin-top: 6px; color: var(--gold-dark); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.directory-table td small, .territory-table td small { margin-top: 5px; color: #9a7744; font-size: 8px; line-height: 1.35; letter-spacing: .07em; }
.directory-table td:last-child { text-align: center; }
.class-pill { width: 28px; height: 28px; margin: 0 auto; display: inline-grid; place-items: center; border: 1px solid #aebbc0; border-radius: 50%; color: var(--navy); font: 700 10px/1 var(--sans); }
.class-a { background: var(--navy); border-color: var(--navy); color: #fff; }
.class-b { background: var(--gold); border-color: var(--gold); }
.class-d { background: var(--ivory); }

.province-section { width: var(--frame); margin: 0 auto; padding: 112px 0; }
.province-grid { margin-left: 240px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--mist); border-left: 1px solid var(--mist); }
.province-card { min-height: 128px; padding: 25px 28px; display: grid; grid-template-columns: 1fr auto; align-items: end; border-right: 1px solid var(--mist); border-bottom: 1px solid var(--mist); background: #fff; }
.province-card:hover { background: var(--ivory); }
.province-card small { display: block; margin-bottom: 12px; color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.province-card strong { display: block; font: 500 24px/1.15 var(--display); }
.province-card b { color: var(--gold-dark); font-size: 18px; }

.territory-summary { width: var(--frame); margin: 0 auto; padding-bottom: 100px; }
.territory-summary .facts { margin: 0 0 0 240px; }
.territory-data-band { padding: 112px max(48px, calc((100vw - 1200px)/2)); background: var(--ivory); }
.territory-data-wrap { max-width: 1200px; margin: 0 auto; }
.territory-table { min-width: 0; table-layout: fixed; background: #fff; border: 1px solid var(--mist); }
.territory-table thead th { width: auto; padding: 15px 18px; background: var(--navy); color: #b8c7ce; }
.territory-table th:nth-child(1) { width: 34%; }
.territory-table th:nth-child(2) { width: 17%; }
.territory-table th:nth-child(3) { width: 14%; }
.territory-table th:nth-child(4) { width: 12%; }
.territory-table th:nth-child(5) { width: 23%; }
.territory-table td { padding: 22px 18px; font: 400 14px/1.45 var(--sans); }
.territory-table td:first-child strong { display: block; font: 500 21px/1.2 var(--display); }
.territory-total { padding: 24px 26px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #d7dedf; border: 1px solid #d7dedf; border-top: 0; }
.territory-total > div { padding: 18px; background: #fff; }
.territory-total span { display: block; color: #849198; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.territory-total strong { display: block; margin-top: 5px; font: 500 25px/1 var(--display); }

.territory-includes ol { grid-template-columns: repeat(5, 1fr); }
.territory-includes > ol > li { min-height: 215px; }

.availability-section { width: var(--frame); margin: 0 auto; padding: 115px 0; }
.availability-grid { margin-left: 240px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; align-items: stretch; }
.availability-card { min-height: 430px; padding: 42px; border: 1px solid var(--mist); background: #fff; display: flex; flex-direction: column; }
.availability-card.available { border-top: 5px solid var(--gold); background: var(--navy); color: #fff; }
.state-kicker { display: inline-flex; align-self: flex-start; margin-bottom: 58px; padding: 7px 10px; border: 1px solid currentColor; color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.availability-card h3 { margin: 0 0 18px; font-size: 46px; }
.availability-card p { color: #65747c; font-size: 13px; }
.availability-card.available p { max-width: 510px; color: #b8c5ca; }
.availability-card .button { margin-top: auto; align-self: flex-start; }
.assigned-person { margin: 22px 0 30px; padding: 24px 0; display: grid; grid-template-columns: 58px 1fr; gap: 17px; border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); }
.assigned-person > span { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-dark); font: 500 22px var(--display); }
.assigned-person strong { display: block; font: 500 23px/1.1 var(--display); }
.assigned-person small { color: var(--slate); font-size: 10px; }
.availability-note { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--mist); color: #8b979d; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }

.lead-form select { width: 100%; margin-top: 7px; padding: 13px 0; border: 0; border-bottom: 1px solid #cfd7da; border-radius: 0; background: #fff; color: var(--ink); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; }

/* MASTER 06 · MARINA SCHEDA */
.map-card.map-query iframe { height: 390px; }
.map-card.map-query > div { align-items: center; }
.map-card.map-query span { max-width: 230px; text-align: right; }
.marina-inventory { width: var(--frame); margin: 0 auto; padding: 115px 0; }
.marina-inventory .section-heading { margin-bottom: 42px; }
.marina-inventory .empty-state-demo { margin-top: 0; }
.marina-inventory .empty-state-demo .button { min-width: 240px; }
.marina-exit-strip { padding-top: 34px; padding-bottom: 34px; }
.marina-exit-strip > div:first-child { min-width: 250px; }
.marina-exit-strip strong { display: block; max-width: 320px; line-height: 1.12; }
.exit-links { min-width: min(720px, 60vw); display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(7,29,43,.22); }
.exit-links a { min-height: 72px; padding: 14px 18px; display: flex; flex-direction: column; justify-content: center; background: var(--navy); color: #fff; }
.exit-links a small { margin-bottom: 4px; color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.exit-links a span { font: 500 18px/1.05 var(--display); }
.exit-links a:hover { background: var(--navy-soft); }

@media (max-width: 980px) {
  .prose-slot, .directory-head { grid-template-columns: 1fr; gap: 28px; }
  .directory-count { display: flex; align-items: baseline; gap: 10px; }
  .directory-legend { padding-left: 0; }
  .province-grid, .territory-summary .facts, .availability-grid { margin-left: 0; }
  .territory-includes ol { grid-template-columns: repeat(3, 1fr); }
  .availability-grid { grid-template-columns: 1fr; }
  .marina-exit-strip { display: grid; }
  .exit-links { width: 100%; min-width: 0; }
}

@media (max-width: 760px) {
  .prose-slot { padding: 72px 0 30px; }
  .prose-slot-copy { padding-top: 24px; }
  .prose-slot-copy p { font-size: 16px; line-height: 1.82; }
  .facts.facts-hub { margin-top: 22px; margin-bottom: 72px; }
  .directory-section, .territory-data-band { padding: 76px 20px; }
  .directory-head { margin-bottom: 30px; }
  .directory-head h2 { font-size: 45px; }
  .directory-count { padding: 0; }
  .directory-legend { margin: -8px 0 18px; }
  .directory-table-wrap { border: 0; background: transparent; box-shadow: none; }
  .directory-table, .directory-table tbody, .directory-table tr, .directory-table td,
  .territory-table, .territory-table tbody, .territory-table tr, .territory-table td { display: block; width: 100%; }
  .directory-table thead, .territory-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .directory-table tbody { display: grid; gap: 10px; }
  .directory-table tbody tr { padding: 17px 16px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 0 18px; background: #fff; border: 1px solid #d8dfe1; }
  .directory-table tbody tr:nth-child(even), .directory-table tbody tr:hover { background: #fff; }
  .directory-table td { padding: 11px 0 0; border: 0; font-size: 13px; }
  .directory-table td::before, .territory-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #8a969c; font-size: 7px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .directory-table td:first-child { grid-column: 1 / -1; padding: 0 0 13px; border-bottom: 1px solid var(--mist); }
  .directory-table td:first-child::before { display: none; }
  .directory-table td:first-child strong { font-size: 18px; }
  .directory-table td:first-child a > span { margin-top: 5px; }
  .directory-table td:nth-child(2) { grid-column: 1 / 2; }
  .directory-table td:nth-child(3) { grid-column: 2 / 3; }
  .directory-table td:nth-child(4) { grid-column: 1 / 2; }
  .directory-table td:nth-child(5) { grid-column: 3 / 4; grid-row: 2 / 4; align-self: center; padding: 0; }
  .directory-table td:nth-child(5)::before { text-align: center; }
  .class-pill { margin: 4px auto 0; }
  .province-section { padding: 78px 0; }
  .province-grid { grid-template-columns: 1fr; }
  .province-card { min-height: 110px; }
  .territory-summary { padding-bottom: 72px; }
  .territory-table { border: 0; background: transparent; }
  .territory-table tbody { display: grid; gap: 12px; }
  .territory-table tbody tr { padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; background: #fff; border: 1px solid var(--mist); }
  .territory-table td { padding: 0; border: 0; }
  .territory-table td:first-child { grid-column: 1 / -1; padding-bottom: 14px; border-bottom: 1px solid var(--mist); }
  .territory-table td:last-child { grid-column: 1 / -1; }
  .territory-total { padding: 1px; grid-template-columns: 1fr 1fr; }
  .territory-total > div { padding: 15px; }
  .territory-includes ol { grid-template-columns: 1fr; }
  .availability-section { padding: 78px 0; }
  .availability-card { min-height: 390px; padding: 32px 27px; }
  .availability-card h3 { font-size: 39px; }
  .state-kicker { margin-bottom: 44px; }
  .map-card.map-query iframe { height: 300px; }
  .map-card.map-query > div { display: grid; }
  .map-card.map-query span { max-width: none; text-align: left; }
  .marina-inventory { padding: 78px 0; }
  .marina-inventory .empty-state-demo { text-align: left; }
  .marina-inventory .empty-icon { margin: 0; }
  .exit-links { grid-template-columns: 1fr; }
  .exit-links a { min-height: 68px; }
}

/* --------------------------------------------------------------------------
   MASTER 07 · SELLER v2 COMPONENT CLASSES  (engineer, 2026-08-20)
   No new visual language. Every declaration below is lifted from an approved
   component already live on the hub / territorio / master pages. The source
   component is named on each block. No new fonts, colours, radii, shadows or
   spacing values are introduced — only existing tokens and existing values.
   -------------------------------------------------------------------------- */

/* S2 INTRO + TOC — geometry copied from .intro-block + .toc (240px gutter stack) */
.seller-intro-toc { width: var(--frame); margin: 0 auto; padding: 96px 0 70px; }
.seller-intro-copy { margin-left: 240px; max-width: var(--reading); }
.seller-intro-copy h2 { margin: 0 0 34px; font-size: clamp(46px, 5vw, 66px); }           /* = .reading-copy h2 */
.seller-intro-copy > p:not(.eyebrow):not(.section-index) { margin-bottom: 24px; color: #3f4d55; font-size: 17px; line-height: 1.9; }  /* = .reading-copy p */
.seller-intro-copy .section-index { display: block; margin-bottom: 20px; }

/* .seller-toc — the approved .toc panel, made collapsible with .faq's disclosure mechanics */
.seller-toc { margin: 34px 0 0 240px; padding: 34px 38px; background: #fff; border: 1px solid var(--mist); box-shadow: 0 16px 50px rgba(20,39,49,.05); }
.seller-toc summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; }
.seller-toc summary::-webkit-details-marker { display: none; }
.seller-toc summary span { color: var(--gold-dark); font: 700 11px/1.2 var(--sans); letter-spacing: .17em; text-transform: uppercase; }  /* = .eyebrow */
.seller-toc summary b { font-size: 20px; font-weight: 400; }                              /* = .faq summary b */
.seller-toc[open] summary b { transform: rotate(45deg); }
.seller-toc[open] summary { margin-bottom: 8px; }
.seller-toc ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }
.seller-toc li { border-top: 1px solid var(--mist); }
.seller-toc li:nth-child(odd) { border-right: 1px solid var(--mist); padding-right: 28px; }
.seller-toc li:nth-child(even) { padding-left: 28px; }
.seller-toc a { min-height: 56px; display: flex; align-items: center; gap: 14px; font-family: var(--display); font-size: 19px; }
.seller-toc a span { color: var(--gold-dark); font: 600 9px var(--sans); }
.seller-toc a:hover { color: var(--gold-dark); }

/* S5 SOLD BOATS — .sold-boats-* mirror .inventory / .boat-grid / .boat-card / .boat-body */
.sold-boats-section { width: var(--frame); margin: 0 auto; padding: 115px 0; }            /* = .marina-inventory */
.sold-boats-section .section-heading { margin-bottom: 42px; }                             /* = .marina-inventory .section-heading */
.sold-boats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }     /* = .boat-grid */
.sold-boat-card { background: #fff; border: 1px solid var(--mist); transition: .2s ease; }/* = .boat-card */
.sold-boat-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(20,39,49,.1); }
.sold-boat-card figure { position: relative; margin: 0; }                                 /* = .boat-visual */
.sold-boat-card figure img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sold-boat-card figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,20,30,.5), transparent 55%); }
.sold-boat-card figure span { position: absolute; z-index: 1; left: 17px; bottom: 14px; padding: 4px 9px; background: var(--gold); color: var(--navy); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.sold-boat-card > div { padding: 22px; }                                                  /* = .boat-body */
.sold-boat-card small { color: #89969c; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.sold-boat-card h3 { min-height: 56px; margin: 10px 0 13px; font-size: 26px; }
.sold-boat-card p { margin: 0; padding-top: 13px; border-top: 1px solid var(--mist); color: var(--slate); font-size: 13px; }

/* S6 MARINA DATA CARDS — hairline stat grid, values from .territory-total; caveat from .directory-table td small */
.marina-data-cards { width: var(--frame); margin: 0 auto 112px; }
.marina-data-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d7dedf; border: 1px solid #d7dedf; }
.marina-data-card { padding: 26px 24px; background: #fff; }
.marina-data-card span { display: block; color: #849198; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.marina-data-card strong { display: block; margin-top: 5px; font: 500 25px/1 var(--display); }
.marina-data-card small { display: block; margin-top: 8px; color: #9a7744; font-size: 8px; line-height: 1.35; letter-spacing: .07em; }

/* S8 TRAVEL TIERS — .notes-grid article (gold rule, span/h3/p), widened to a 1200 band */
.travel-tier-band { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.travel-tier { padding-top: 24px; border-top: 2px solid var(--gold); }
.travel-tier > span { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.travel-tier h3 { margin: 20px 0 10px; font-size: 28px; }
.travel-tier p { margin: 0; color: var(--slate); font-size: 14px; }                       /* 14px = .faq details p, long-form answer size */

/* .seller-faq — pass-through modifier on .faq. Adds only anchor offset for the
   sticky 86px header, so TOC jumps do not land under it. No visual change. */
.seller-faq { scroll-margin-top: 110px; }
.seller-intro-toc, .sold-boats-section, .marina-data-cards, .band[id], .reading-section[id], .form-band[id] { scroll-margin-top: 110px; }

@media (max-width: 980px) {
  .seller-intro-copy, .seller-toc { margin-left: 0; }
  .sold-boats-grid { grid-template-columns: 1fr 1fr; }
  .marina-data-cards { grid-template-columns: 1fr 1fr; }
  .travel-tier-band { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 760px) {
  .seller-intro-toc { padding: 68px 0 55px; }
  .seller-intro-copy h2 { font-size: 45px; }
  .seller-intro-copy > p:not(.eyebrow):not(.section-index) { font-size: 16px; line-height: 1.8; }
  .seller-toc { padding: 25px; }
  .seller-toc ol { grid-template-columns: 1fr; }
  .seller-toc li:nth-child(odd) { border-right: 0; padding-right: 0; }
  .seller-toc li:nth-child(even) { padding-left: 0; }
  .sold-boats-section { padding: 78px 0; }
  .sold-boats-grid { grid-template-columns: 1fr; }
  .marina-data-cards { grid-template-columns: 1fr; margin-bottom: 75px; }
}

/* A subordinate process band uses h3 for heading hierarchy (rulebook h2 cap).
   Identical treatment to .process-heading h2 — no new values. */
.process-heading h3 { margin: 0; font-size: clamp(46px, 5vw, 68px); font-weight: 500; }
@media (max-width: 760px) { .process-heading h3 { font-size: 45px; } }

/* ---- WORDPRESS / ELEMENTOR RESET (recovered 2026-08-20) --------------------
   The design is full-bleed and carries its own chrome, so Elementor's wrappers
   must not re-impose a content width or padding. hello-elementor ships its own
   .site-header/.site-footer with the SAME class names as the design. */
body{margin:0}
.elementor,.elementor-section,.elementor-section-wrap,.elementor-container,.elementor-column,.elementor-column-wrap,.elementor-widget-wrap,.elementor-widget,.elementor-widget-html,.elementor-widget-container{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important}
.site-header,.site-footer{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
/* counteracts the blanket margin:0 above, which flattened the centred figures */
.editorial-image{margin-left:auto!important;margin-right:auto!important}
