/* Highland identity: personal, editorial and quietly technical. */
:root { --ink:#122a2c; --mint:#dcbd7c; --paper:#fbfaf6; --muted:#526564; --line:#d9dfd6; }
h2 em { font-family:Georgia,serif; font-weight:400; color:#416661; letter-spacing:-.055em; }
.contact-bar { background:#203d3e; color:#d9e6df; font-size:.78rem; border-bottom:1px solid #456361; }
.contact-bar .container { display:flex; justify-content:space-between; gap:20px; padding-block:9px; }
.contact-bar a { color:#f1d497; }
.header-inner { min-height:83px; }
.main-navigation { gap:25px; }
.site-header,.site-footer { background:#122a2c; }
.hero { background:#122a2c; }
.highland-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 59%; z-index:-3; }
.hero:before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(11,30,33,.96) 8%,rgba(11,30,33,.87) 43%,rgba(11,30,33,.3) 100%); }
#energy-canvas { z-index:-1; opacity:.8; }
.hero-grid { padding-top:85px; padding-bottom:85px; grid-template-columns:1.25fr 1fr; }
.hero h1 { font-size:clamp(3rem,4.8vw,4.85rem); }
.hero h1 span { font-family:Georgia,serif; font-style:italic; font-weight:400; color:#ebcc8f; }
.hero-description { color:#d1e0dc; }
.hero-note { color:#b3c8c4; max-width:460px; }
.hero .eyebrow { color:#e3d2af; }
.hero-strip { border-color:#6f918254; color:#d3dfd7; }
.hero-strip>div { color:#e1e9df; }
.system-diagram { background:rgba(18,42,44,.66); backdrop-filter:blur(7px); border-color:#a5c8b35c; box-shadow:0 30px 80px #071d2360; }
.diagram-core { background:#dec890; box-shadow:0 0 60px #dcbd7c16; }
.diagram-node { background:#173b3be8; border-color:#638c7a; }
.diagram-node:hover { background:#25524c; }
.diagram-core small,.diagram-core div>span { color:#4d5134; }
.diagram-heading,.diagram-caption { color:#d1e3d6; }
.node-icon,.node-plus { color:#e8cf93; }
.diagram-connector { background:#d8c48e88; }
.diagram-connector span,.diagram-connector:after { background:#f1dba5; }
.button { background:#dcbd7c; border-radius:3px; }
.button:hover { background:#efd7a5; }
.button-dark { background:#173d3c; color:#fff; }
.button-dark:hover { background:#2b5651; }
.service-card { border-radius:3px; }
.service-card.featured { background:#edf1e8; }
.approach-section,.soft-section { background:#eaf0e9; }
.cta-panel { background:#e5d5ac; border-radius:3px; }
.cta-panel .eyebrow,.cta-panel p:not(.eyebrow) { color:#49513a; }
.personal-strip { display:grid; grid-template-columns:auto 1fr 1.25fr auto; align-items:center; gap:28px; padding-block:35px; }
.personal-strip .eyebrow { margin-bottom:7px; font-size:.7rem; }
.personal-strip p { margin-bottom:0; font-size:.98rem; }
.personal-strip strong { color:#203c3b; font-weight:600; }
.personal-strip .text-link { font-size:.85rem; max-width:190px; }
.initials { position:relative; display:grid; place-items:center; width:66px; height:66px; border-radius:50%; background:#e7ddc3; border:1px solid #d4c597; color:#344f48; font:italic 25px Georgia,serif; }
.initials span { position:absolute; right:-3px; bottom:-2px; background:#234f48; color:#e8d196; border:3px solid var(--paper); border-radius:50%; width:27px; height:27px; font:16px Arial,sans-serif; text-align:center; }
.portfolio-section { background:#edf1eb; border-block:1px solid #d8e1d6; }
.project-feature { display:grid; grid-template-columns:1.35fr 1fr; gap:70px; align-items:center; }
.project-art { display:block; background:#d9d0dc; padding:28px; border-radius:5px; box-shadow:0 20px 45px #27392d0e; transition:transform .3s; }
.project-art:hover { transform:translateY(-4px); }
.project-browser { background:#fff; display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid #e2d9e1; border-radius:7px 7px 0 0; padding:12px 16px; font-size:.73rem; color:#6a596d; }
.project-browser>span:first-child { color:#b6a8b9; font-size:.6rem; letter-spacing:3px; }
.project-brand { background:#fbf6f8; text-align:center; padding:30px 25px; color:#503c53; }
.project-brand>p { color:#573f58; font-size:.78rem; letter-spacing:.25em; margin-bottom:15px; }
.project-brand img { width:100%; height:240px; object-fit:contain; display:block; mix-blend-mode:multiply; }
.project-brand>span { display:block; font:italic 1.25rem Georgia,serif; margin-top:18px; }
.project-art-footer { display:flex; justify-content:space-between; gap:15px; padding-top:20px; font:10px monospace; letter-spacing:.05em; color:#503c53; }
.project-story h3 { font-size:3rem; }
.project-story h3>span { color:#9c708d; }
.project-story p { max-width:420px; }
.project-tags { padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:9px; margin-block:25px 30px; }
.project-tags li { border:1px solid #bccbbd; border-radius:3px; padding:5px 10px; font-size:.8rem; color:#485c50; }
.project-note { font-size:.78rem; margin-top:23px; }
.package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding-top:18px; }
.package-card { position:relative; border:1px solid #c9d4c8; background:#fff; padding:33px 29px; display:flex; flex-direction:column; }
.package-card .eyebrow { font-size:.67rem; min-height:32px; margin-bottom:16px; }
.package-card h3 { font-size:1.9rem; }
.package-card>p:not(.eyebrow) { font-size:1rem; min-height:80px; }
.package-card ul { padding-left:20px; color:#48605a; margin-bottom:30px; }
.package-card li { padding-left:3px; margin-bottom:13px; font-size:.95rem; }
.package-price { margin-top:auto; font-size:.86rem; font-weight:bold; border-top:1px solid #d4dfd0; padding-top:23px; margin-bottom:20px; }
.package-card .button { font-size:.88rem; gap:8px; padding-inline:13px; }
.package-card.highlighted { background:#ebf0e4; border-color:#728e74; }
.package-flag { position:absolute; top:-16px; left:23px; background:#31594c; color:#fff; font-size:.67rem; letter-spacing:.08em; padding:7px 12px; }
.package-terms { margin:25px 0 0; font-size:.84rem; max-width:870px; }
.signature { font:italic 2.8rem Georgia,serif; color:#3d655b; margin-top:28px; }
.signature span { font-size:1.7rem; }
.personal-call { display:block; border-left:3px solid #b99c60; background:#eaf0e7; padding:22px; margin-bottom:30px; }
.personal-call .eyebrow { margin-bottom:10px; }
.personal-call strong { display:block; font-size:1.8rem; font-weight:500; }
.personal-call>span:last-child { font-size:.85rem; color:#52675d; }
.page-hero { background:radial-gradient(ellipse at right top,#376454,transparent 65%),#122a2c; }
.page-hero h1 span { font-family:Georgia,serif; font-style:italic; font-weight:400; color:#e8c987; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html { scroll-padding-top:150px; }
#meet-gerry { scroll-margin-top:155px; }
@media(max-width:1150px) {
.main-navigation { gap:16px; font-size:.85rem; }
.personal-strip { grid-template-columns:auto 1fr 1fr; gap:20px; }
.personal-strip>.text-link { grid-column:2/4; max-width:none; justify-self:start; }
.project-feature { gap:35px; }
.package-card { padding:28px 20px; }
.package-card h3 { font-size:1.65rem; }
}
@media(max-width:850px) {
.main-navigation { gap:12px; }
.brand { font-size:1.35rem; }
.hero-grid { grid-template-columns:1fr; }
.hero h1 { font-size:clamp(3rem,7.3vw,4.8rem); }
.highland-backdrop { object-position:65% center; }
.hero:before { background:linear-gradient(180deg,#112d30f5 8%,#102b2dba 55%,#132f2a70); }
.project-feature { grid-template-columns:1fr; gap:35px; }
.project-art { max-width:650px; width:100%; }
.package-grid { grid-template-columns:1fr; gap:33px; }
.package-card>p:not(.eyebrow) { min-height:0; }
.package-card .eyebrow { min-height:0; }
.package-card .button { align-self:start; padding-inline:22px; }
.project-story h3 { font-size:2.5rem; }
}
@media(min-width:641px) and (max-width:950px) {
    .menu-toggle { display:flex; align-items:center; gap:15px; }
    .main-navigation { position:absolute; top:100%; left:0; right:0; background:#193b39; padding:18px 32px; flex-direction:column; align-items:stretch; gap:0; visibility:hidden; pointer-events:none; }
    .main-navigation.is-open { visibility:visible; pointer-events:auto; }
    .main-navigation>a:not(.button) { padding:13px 0; font-size:1rem; }
    .main-navigation .button { margin-top:10px; }
}
@media(max-width:640px) {
.contact-bar .container { justify-content:center; padding-block:8px; }
.contact-bar .container>span { display:none; }
.header-inner { min-height:70px; }
.main-navigation { background:#193b39; }
.hero-grid { padding-top:45px; padding-bottom:50px; }
.hero h1 { font-size:clamp(2.4rem,9.2vw,3.65rem); }
.hero-description { font-size:1.04rem; }
.personal-strip { grid-template-columns:auto 1fr; gap:20px; padding-block:28px; }
.personal-strip>p { grid-column:1/3; }
.personal-strip>.text-link { grid-column:1/3; }
.project-art { padding:17px; }
.project-brand { padding:23px 15px; }
.project-brand img { height:190px; }
.project-brand>span { font-size:1.1rem; }
.project-art-footer { font-size:9px; letter-spacing:0; }
.project-tags { margin-block:20px; }
.project-feature { gap:30px; }
.project-story h3 { font-size:2.3rem; }
.package-card { padding:30px 24px; }
html { scroll-padding-top:135px; }
#meet-gerry { scroll-margin-top:135px; }
}

/* Professional profile and local coverage. */
.local-intro { grid-template-columns:1fr 1.5fr auto; }
.local-intro>.text-link { grid-column:auto; }
.founder-profile { display:flex; align-items:center; gap:24px; margin:28px 0; }
.founder-profile img { display:block; width:142px; height:164px; object-fit:cover; object-position:center 35%; border-radius:4px; border:1px solid #b8cbbd; }
.founder-profile figcaption { display:flex; flex-direction:column; gap:7px; }
.founder-profile strong { font-size:1.3rem; color:#1c3a37; }
.founder-profile span { font-size:.87rem; color:#506a61; max-width:230px; }
.coverage-section { display:grid; grid-template-columns:1fr 1.15fr; gap:75px; border-bottom:1px solid #d2dcd0; }
.coverage-places { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:10px; margin-block:25px; }
.coverage-places li { padding:8px 15px; border:1px solid #b9cabc; background:#edf2e9; font-size:.94rem; }
#about-classantics { scroll-margin-top:155px; }
@media(max-width:850px) {
.local-intro { grid-template-columns:1fr 1fr; }
.local-intro>.text-link { grid-column:1/3; }
.coverage-section { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:640px) {
.local-intro { grid-template-columns:1fr; }
.local-intro>p,.local-intro>.text-link { grid-column:1; }
.founder-profile { gap:17px; }
.founder-profile img { width:115px; height:142px; }
.founder-profile strong { font-size:1.2rem; }
#about-classantics { scroll-margin-top:135px; }
}
/* Actual imagery selected from the live Pristine Passion website. */
.project-gallery { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.project-gallery a { display:block; overflow:hidden; border-radius:5px; background:#d7e1d9; }
.project-gallery img { display:block; width:100%; height:180px; object-fit:cover; transition:transform .3s; }
.project-gallery a:hover img { transform:scale(1.025); }
.project-gallery .gallery-main { grid-column:1/-1; position:relative; }
.project-gallery .gallery-main img { height:310px; }
.gallery-main>span { display:block; padding:14px 18px; background:#183b3c; color:#fff; font-size:.85rem; }
@media(max-width:640px) {
.project-gallery { gap:10px; }
.project-gallery img { height:130px; }
.project-gallery .gallery-main img { height:230px; }
}
.platform-work { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.platform-card { padding: clamp(24px, 3vw, 40px); border: 1px solid #d7ddd5; border-radius: 16px; background: #fafbf7; }
.platform-card h3 { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; margin: 12px 0 20px; }
.platform-card p { line-height: 1.7; }
.profile-education { margin: 28px 0; padding: 24px 0; border-top: 1px solid #c8d1c8; border-bottom: 1px solid #c8d1c8; }
.profile-education h3 { font-size: 19px; margin: 0 0 18px; }
.profile-education p { line-height: 1.65; margin: 0 0 16px; }
.profile-education p:last-child { margin-bottom: 0; }
@media (max-width: 760px) { .platform-work { grid-template-columns: 1fr; } }

.portal-showcase { margin: 40px 0 0; padding: clamp(18px, 3vw, 36px); background: #e8ede7; border: 1px solid #d7ddd5; border-radius: 18px; }
.portal-captures { display: grid; grid-template-columns: 2.1fr 1fr; gap: clamp(12px, 3vw, 32px); max-width: 760px; margin: auto; align-items: start; }
.portal-captures a { min-width: 0; display: block; color: #122a2c; text-decoration: none; }
.portal-captures img { width: 100%; height: auto; display: block; border-radius: 10px; box-shadow: 0 10px 25px #122a2c20; }
.portal-captures a > span { display: block; font-size: .82rem; font-weight: 600; padding-top: 14px; }
.portal-showcase figcaption { color: #526564; font-size: .85rem; line-height: 1.6; text-align: center; margin-top: 26px; }

.signature-brand { flex-shrink: 0; display: inline-flex; width: 270px; }
.signature-brand img { display: block; width: 270px; height: 58px; object-fit: cover; object-position: 50% 48%; mix-blend-mode: lighten; }
@media (max-width: 600px) {
 .signature-brand { width: 215px; }
 .signature-brand img { width: 215px; height: 47px; }
}

.signature-brand img { height: 58px; object-fit: contain; object-position: center; }
.case-body { max-width: 900px; padding-block: 56px; }
.case-section { margin: 38px 0; }
.case-section h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 16px; }
.case-section p { line-height: 1.85; max-width: 75ch; }
.case-image { margin: 0 0 36px; }
.case-image img { width: 100%; height: auto; border-radius: 14px; }
.case-image figcaption { font-size: .85rem; padding-top: 12px; }
.service-landing-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; padding-block: 30px 60px; }
.service-landing-links a { display: block; padding: 28px; background: #e8ede7; border-radius: 14px; text-decoration: none; }
.service-landing-links h2 { font-size: 1.5rem; }
.service-landing-links p { line-height: 1.6; }
@media(max-width:760px) { .service-landing-links { grid-template-columns: 1fr; } }
/* Project slides keep their own case-study details and links together. */
.showcase-controls { display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; align-items:center; margin:0 0 28px; }
.showcase-controls[hidden] { display:none; }
.showcase-selectors { display:flex; flex-wrap:wrap; gap:8px; }
.showcase-controls button { font:inherit; font-size:.85rem; cursor:pointer; border:1px solid #b5c7be; background:transparent; color:#183b3c; padding:12px 15px; border-radius:30px; }
.showcase-selectors button[aria-pressed=true] { background:#183b3c; color:#fff; border-color:#183b3c; }
.showcase-controls button:hover { border-color:#183b3c; }
.showcase-ready .showcase-stage { display:grid; }
.work-slide { margin-bottom:30px; min-width:0; }
.showcase-ready .work-slide { grid-area:1/1; margin:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility .65s; }
.showcase-ready .work-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.work-main { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(24px,5vw,70px); align-items:center; }
.work-visual { position:relative; display:block; height:400px; border-radius:14px; overflow:hidden; background:#dbe5dc; color:#fff; text-decoration:none; }
.work-visual>img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.work-visual:hover>img { transform:scale(1.025); }
.visual-link { position:absolute; bottom:18px; left:18px; right:18px; display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border:1px solid #ffffff65; border-radius:7px; background:#112f2eed; color:#fff; font-size:.9rem; }
.work-visual:hover .visual-link { background:#215047; }
.work-slide .text-link { text-decoration:underline; text-underline-offset:5px; }
.work-visual:focus-visible,.showcase-controls button:focus-visible { outline:3px solid #a37b28; outline-offset:5px; }
.portal-visual { padding:20px 30px 70px; }
.portal-visual>img { object-fit:contain; object-position:top; }
.work-case { display:flex; gap:24px; justify-content:space-between; align-items:center; padding:26px 0 0; margin-top:30px; border-top:1px solid #bdcec3; }
.work-case p { margin:0 0 8px; line-height:1.6; }
.work-case>a { flex-shrink:0; }
.platform-visual { background:radial-gradient(ellipse at top,#315a4e,#112f2e); padding:30px; display:flex; flex-direction:column; align-items:center; gap:28px; }
.platform-caption { font-size:.65rem; letter-spacing:.12em; color:#c6d6c9; }
.platform-visual>strong { font-size:2rem; color:#e1c68c; }
.platform-hub { border:1px solid #adc8b2; padding:15px 25px; border-radius:8px; }
.workspace-row { display:flex; gap:12px; width:100%; justify-content:center; }
.workspace-row>span { border-top:1px solid #acc8b3; padding-top:20px; font-size:.9rem; text-align:center; flex:1; }
.workspace-row small { display:block; font-size:.65rem; margin-top:9px; color:#c6d6c9; }
.service-signpost { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-block:45px; border-block:1px solid #bdcec3; }
.service-signpost h2 { font-size:2rem; }
.service-signpost p { line-height:1.7; }
.service-signpost>.button { flex-shrink:0; }
.capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.capability-card { padding:30px; border:1px solid #c5d1c7; border-radius:12px; display:flex; flex-direction:column; background:#f5f7f0; }
.capability-card h3 { font-size:1.5rem; margin:22px 0 12px; }
.capability-card p { line-height:1.8; margin:0 0 25px; }
.capability-card a { margin-top:auto; }
@media(max-width:850px) { .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .work-main { grid-template-columns:1fr; } .work-visual { height:340px; } .work-case,.service-signpost { align-items:flex-start; flex-direction:column; } }
@media(max-width:520px) { .capability-grid { grid-template-columns:1fr; } .work-visual { height:310px; } .platform-visual { gap:20px; padding:25px 18px; } .showcase-selectors { flex-direction:column; width:100%; } .showcase-selectors button { text-align:left; } }
@media(prefers-reduced-motion:reduce) { .showcase-ready .work-slide,.work-visual>img { transition:none; } }
/* Layered brand artwork: text remains on a dark scrim or a solid reading surface. */
.page-hero { position:relative; isolation:isolate; background:#102b29; overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:url('../Images/technical-landscape.webp') center 55% / cover no-repeat; }
.page-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#102b29f5 0%,#102b29db 45%,#102b2940 100%); }
.page-hero h1,.page-hero p,.page-hero .breadcrumb,.page-hero .section-nav a { position:relative; }
.visual-interlude { height:280px; margin:45px 0; border-radius:16px; background:#102b29 url('../Images/technical-landscape.webp') center 65% / cover no-repeat; box-shadow:inset 0 0 70px #102b2930; }
.wide-interlude { height:320px; margin:0; border-radius:0; }
.case-section { padding:28px 0; border-top:1px solid #d0d9d0; }
.case-section h2 { color:#214b40; }
.case-body { max-width:1000px; }
.case-image { border-radius:16px; overflow:hidden; }
.case-image figcaption { padding:18px 22px; background:#e5ece3; }
.contact-grid .enquiry-panel { box-shadow:0 18px 60px #163f3512; }
@media(min-width:1000px) and (prefers-reduced-motion:no-preference) and (hover:hover) {
 .visual-interlude::before,.scene-image { will-change:transform; }
}
@media(max-width:640px) { .visual-interlude { height:200px; margin-block:30px; } .wide-interlude { margin-block:0; height:220px; } .page-hero::after { background:linear-gradient(90deg,#102b29ef,#102b29b0); } }
/* A bounded image layer moves inside its own frame, never against the viewport. */
.visual-interlude { position:relative; overflow:hidden; isolation:isolate; background:#102b29; height:360px; }
.visual-interlude::before { content:""; position:absolute; inset:-56px 0; background:url('../Images/technical-landscape.webp') center / cover no-repeat; transform:translate3d(0,var(--depth-y,0px),0); }
.editorial-case { max-width:1280px; }
.case-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:34px 0; border-bottom:1px solid #cbd6cc; }
.case-facts span { font-size:.95rem; }
.case-facts small { display:block; letter-spacing:.15em; font-size:.65rem; color:#5b746a; margin-bottom:10px; }
.case-chapter { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,100px); padding:clamp(50px,7vw,100px) 0; }
.case-chapter h2,.portal-narrative h2 { font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.12; letter-spacing:-.035em; margin:20px 0; }
.case-chapter p,.portal-narrative p { font-size:1.05rem; line-height:1.85; }
.case-chapter>div>p:first-child { margin-top:0; }
.case-scene { position:relative; overflow:hidden; isolation:isolate; margin:0; height:clamp(360px,43vw,620px); background:#263d36; }
.scene-image { position:absolute; inset:-56px 0; background:url('../Images/pristine-passion-lounge.jpg') center 55% / cover no-repeat; transform:translate3d(0,var(--depth-y,0px),0); z-index:-2; }
.case-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#0e252be8,transparent 75%); z-index:-1; }
.case-scene figcaption { position:absolute; left:max(6vw,24px); bottom:45px; right:24px; color:#fff; }
.case-scene .eyebrow { color:#e0c589; }
.case-scene strong { display:block; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.035em; margin:18px 0; }
.case-scene a { display:inline-block; color:#fff; text-decoration:underline; text-underline-offset:6px; padding:8px 0; }
.portal-chapter { background:#e7ede6; padding:clamp(50px,6vw,90px) 0; }
.portal-editorial { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(35px,6vw,90px); align-items:center; }
.portal-proof { margin:0; min-width:0; }
.portal-proof-images { display:grid; grid-template-columns:2.1fr 1fr; gap:18px; align-items:start; padding:24px; background:#d2ddd3; border:1px solid #bdcebf; border-radius:18px; }
.portal-proof img { width:100%; height:auto; border-radius:8px; box-shadow:0 15px 25px #14352a25; }
.portal-proof figcaption { margin-top:18px; color:#506b5e; font-size:.85rem; }
.role-notes { border-top:1px solid #bacbbe; padding-top:20px; margin-top:30px; }
.role-notes h3 { font-size:1.1rem; }
@media(max-width:899px) { .case-chapter,.portal-editorial { grid-template-columns:1fr; gap:20px; } .case-facts { grid-template-columns:1fr; gap:20px; } .visual-interlude { height:240px; } .portal-proof { max-width:620px; } .scene-image,.visual-interlude::before { transform:none; } }
@media(prefers-reduced-motion:reduce) { .scene-image,.visual-interlude::before { transform:none; will-change:auto; } }

/* Production enquiry and small-screen usability. */
#brief-copy-fallback{margin-top:24px}#brief-copy-fallback[hidden]{display:none}#brief-copy-fallback label{display:block;margin-bottom:10px;font-size:.9rem}#brief-copy-text{box-sizing:border-box;width:100%;padding:16px;border:1px solid #8b9e91;border-radius:8px;background:#fffdf8;color:#23473c;font:inherit;line-height:1.6;resize:vertical}
.form-actions{flex-wrap:wrap}.form-actions button{min-height:44px}.form-status{overflow-wrap:anywhere}.enquiry-panel .small-copy a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.field input,.field select,.field textarea{font-size:16px}.package-card .button{white-space:normal}.contact-grid a{overflow-wrap:anywhere}.main-navigation{max-height:calc(100dvh - 110px);overflow-y:auto}}
