/* Leiser & Co. — homepage-only redesign.
   Isolated from the existing shared PHP pages; no library or server changes. */
:root {
  --navy: #062538;
  --navy-deep: #041c2a;
  --blue: #07547d;
  --text: #142b3a;
  --muted: #344653;
  --ivory: #faf9f7;
  --paper: #f6f1ea;
  --mineral: #e9eff2;
  --gold: #bf8d44;
  --border: #e6dfd5;
  --serif: 'Libre Baskerville', Georgia, serif;
  --sans: 'DM Sans', Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.leiser-homepage { margin: 0; color: var(--text); background: var(--ivory); font-family: var(--sans); font-size: 16px; -webkit-font-smoothing: antialiased; }
body.leiser-homepage a { color: inherit; }
body.leiser-homepage a:focus-visible, body.leiser-homepage button:focus-visible, body.leiser-homepage input:focus-visible, body.leiser-homepage select:focus-visible, body.leiser-homepage textarea:focus-visible, body.leiser-homepage summary:focus-visible {outline: 3px solid #77bdda; outline-offset: 3px;}
.section-shell { max-width: 1210px; width: calc(100% - 88px); margin: 0 auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.043em; }
.eyebrow { font: 700 11px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .16em; color: #a06d2f; margin: 0 0 12px; }
.fine-rule { display: block; width: 51px; height: 2px; background: var(--gold); }

/* Header — matching the new homepage only */
.site-header { position: relative; z-index: 30; background: var(--navy); color: #fff; }
.header-shell { max-width: 1320px; width: calc(100% - 86px); margin: 0 auto; }
.header-utility { height: 29px; background: #052234; font-size: 11px; }
.utility-inner { display: flex; justify-content: flex-end; align-items: center; height: 100%; gap: 16px; }
.utility-inner a { text-decoration: none; color: #f0f6f6; white-space: nowrap; }
.utility-inner a:hover { color: #fff; text-decoration: underline; }
.utility-divider { height: 13px; width: 1px; background: rgba(255,255,255,.25); }
.header-main { min-height: 83px; display: flex; align-items: center; gap: 34px; }
.brand { flex: 0 0 auto; width: clamp(190px, 22vw, 280px); display: block; }
.brand img { display: block; height: auto; width: 100%; max-height: 75px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; align-items: center; gap: clamp(15px, 2.25vw, 34px); margin-left: auto; }
.desktop-nav a { text-decoration: none; color: #fff; font-size: 13px; white-space: nowrap; transition: color .2s; }
.desktop-nav a:hover { color: #e0c4a1; }
.header-quote { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; color: #fff!important; background: #075d8d; border: 1px solid #1774a3; border-radius: 5px; text-decoration: none; padding: 13px 21px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.header-quote:hover { background: #1272a4; }
.mobile-nav { display: none; }

/* Keep the existing original handshake image, without changing it. */
.handshake-hero { width: 100%; height: clamp(120px, 10.25vw, 158px); background: url('../front2.jpg') center 48% / cover no-repeat #151b20; }

/* Compact new diamond editorial hero */
.intro-hero { position: relative; min-height: 333px; background: #f8f5f1; overflow: hidden; isolation: isolate; }
.intro-hero-image { position: absolute; inset: 0 0 0 42%; background: url('leiser-diamond-hero.webp') 50% 50% / cover no-repeat; z-index: -2; }
.intro-hero:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #f9f7f4 0%, #f9f7f4 35%, rgba(249,247,244,.98) 42%, rgba(249,247,244,.80) 51%, rgba(249,247,244,.10) 69%, rgba(249,247,244,0) 83%); }
.intro-inner { display: flex; align-items: center; min-height: inherit; padding-top: 33px; padding-bottom: 28px; }
.intro-copy { width: min(47%, 570px); }
.intro-copy .eyebrow { display: flex; align-items: center; white-space: nowrap; gap: 15px; }
.eyebrow-rule { display: inline-block; width: 70px; height: 1px; background: #ccab7d; }
.intro-copy h1 { font-size: clamp(36px, 3.35vw, 52px); line-height: 1.11; margin: 0 0 17px; }
.intro-copy p:not(.eyebrow) { margin-bottom: 20px; font-size: 15px; line-height: 1.53; color: #172b37; max-width: 520px; }
.intro-copy p a { text-decoration-color: #b6a08a; text-underline-offset: 2px; }

/* Intro video / welcome overlapping paper panel */
.welcome-section { background: #fcfbf9; padding: 22px 0 31px; }
.welcome-layout { display: flex; align-items: center; min-height: 194px; }
.welcome-video { position: relative; flex: 0 0 54%; max-width: 54%; height: 187px; background: linear-gradient(135deg, #003456 0%, #0b4d77 52%, #062d48 100%); border-radius: 5px; overflow: visible; box-shadow: 0 3px 9px rgba(6,27,39,.10); z-index: 1; }
.welcome-video:before, .welcome-video:after { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(140deg, transparent 25%, rgba(255,255,255,.04) 25.2%, transparent 46%,rgba(0,0,0,.07) 46.2%,transparent 66%); }
.welcome-video:after { background: linear-gradient(45deg, transparent 49%,rgba(255,255,255,.03) 50%,transparent 54%); }
.video-fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap: 10px; color:#fff; }
.video-brand { font:400 clamp(26px, 2.8vw, 44px)/1.2 var(--serif); letter-spacing:.015em; }
.video-play-symbol { display:grid; place-items:center; width:55px; height:46px; background:#1591d3; color:#fff; border-radius:4px; font-size:20px; padding-left:3px; }
.wistia-video { position:absolute; inset:0; z-index:2; border-radius:inherit; overflow:hidden; }
.wistia_embed { width:100%; height:100%; display:block; }
.welcome-panel { position: relative; z-index: 3; margin-left: -27px; width: calc(46% + 27px); min-height: 162px; background: linear-gradient(110deg,#faf6f0 0%,#f5eee5 100%); border: 1px solid #e7d8c6; border-radius: 5px; box-shadow: 0 7px 14px rgba(48,37,30,.10); padding: 28px 37px 24px 45px; }
.welcome-panel h2 { font-size: clamp(27px, 2.45vw, 35px); line-height:1.2; margin-bottom: 11px; }
.welcome-panel p { font-size: 14px; line-height:1.55; color:#1b2c36; margin-bottom: 12px; }
.welcome-video.is-playing { z-index: 4; transition: z-index .25s; }
.welcome-video.is-playing .wistia-video { box-shadow: 0 10px 25px rgba(0,0,0,.22); }

/* Conversion action follows the welcome, before reviews and expertise. */
.quote-section { background: radial-gradient(circle at 97% 93%, rgba(20,84,120,.48), transparent 33%),linear-gradient(124deg,#062638 0%,#06283a 65%,#0b3750 100%); color:#fff; padding: 28px 0 28px; scroll-margin-top: 16px; }
.quote-layout { display:grid; grid-template-columns: .87fr 1.13fr; align-items:center; gap: min(8vw, 112px); }
.quote-aside { max-width: 435px; padding-left: 25px; align-self: start; padding-top: 34px; }
.quote-rating { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:12px; margin-bottom: 20px; }
.quote-rating strong { font-size: 13px; }
.quote-rating .stars { font-size: 18px; letter-spacing: 1px; color:#ffb827; line-height: 1; }
.quote-rating a { color:#f5f6f8; text-underline-offset: 2px; }
.quote-aside .fine-rule { margin-bottom: 14px; }
.quote-aside h2 { font-size: clamp(36px,3.15vw,47px); line-height:1.2; color:#fff; margin-bottom: 20px; }
.quote-aside p { color:#f4f6f6; font-size:16px; line-height:1.6; max-width:350px; }
.quote-card { padding: 23px 28px 20px; background: #f9f6f2; border:1px solid #eee4d9; border-radius:7px; color:#1c303b; box-shadow:0 5px 16px rgba(0,0,0,.15); }
.quote-card form { margin:0; }
.form-row { display:grid; grid-template-columns: 160px minmax(0,1fr); gap: 15px; align-items:center; margin-bottom: 10px; }
.quote-card label { font-size:12px; line-height:1.3; font-weight:700; }
.quote-card input:not([type=file]), .quote-card select, .quote-card textarea { width:100%; border:1px solid #d0d3d4; border-radius:3px; background:#fff; min-height: 33px; padding: 5px 10px; color:#233741; font: 13px/1.4 var(--sans); }
.quote-card select { cursor:pointer; }
.quote-card input::placeholder, .quote-card textarea::placeholder { color:#777e84; opacity:1; }
.file-row { align-items:start; }
.quote-card input[type=file] { max-width:100%; font-size:11px; color:#263846; }
.quote-card input[type=file]::file-selector-button { font:600 11px var(--sans); padding:5px 9px; margin-right:8px; border-radius:3px; border:1px solid #ccd4d7; color:#213e52; background:#fff; cursor:pointer; }
.file-note { font-size:10px; line-height:1.3; color:#64737e; margin:4px 0 0; }
.form-full { margin-top:8px; }
.form-full label { display:block; margin-bottom:8px; }
.form-full label span { font-weight:400; }
.quote-card textarea { display:block; min-height:78px; resize:vertical; }
.extra-details { margin:12px 0 16px; }
.extra-details summary { font-size: 11px; font-weight:700; line-height:1.35; cursor:pointer; }
.extra-fields { padding: 15px 0 3px; border-top:1px solid #d8d2cc; margin-top:12px; }
.extra-fields .form-row { grid-template-columns: 135px minmax(0,1fr); }
.honeypot { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.send-button { display:block; width:90%; margin:4px auto 0; border:1px solid #07537b; border-radius:4px; background:#075680; color:#fff; min-height:40px; font:600 14px var(--sans); cursor:pointer; }
.send-button:hover { background:#126e9c; }

/* Restyle the EXISTING review carousel without touching reviews.html. */
.reviews-section { background:#faf7f3; padding: 23px 0 27px; }
.reviews-section .lc-reviews-widget { width:100%; max-width:1120px; margin:0 auto; padding:0; text-align:center; --lc-panel:#fbf7f2; --lc-accent:#f3b329; --lc-shadow:0 5px 12px rgba(72,53,34,.09); --lc-border:rgba(114,84,54,.13); }
.reviews-section .lc-reviews-widget h2 { font:700 14px/1.25 var(--sans); text-transform:uppercase; letter-spacing:.17em; color:#ac772f; text-align:center; margin:0 0 7px; }
.reviews-section .lc-reviews-widget h2:before, .reviews-section .lc-reviews-widget h2:after {content:''; display:inline-block; width:65px; height:1px; background:#d5b891; margin:0 15px 5px;}
.reviews-section .lc-re { display:flex; justify-content:center; margin:0 0 12px; }
.reviews-section .lc-re a { gap:14px; font-size:12px; }
.reviews-section .lc-re img { width:160px; }
.reviews-section .lc-rd { color:#384953; }
.reviews-section .lc-main-card { position:relative; max-width:850px; margin:0 auto; padding:18px 60px 19px; border-radius:6px; background:linear-gradient(120deg,#fbf6f0 0%,#f7f0e9 100%); box-shadow:0 4px 12px rgba(51,38,27,.10); }
.reviews-section .lc-main-card:before { content:'“'; position:absolute; top:2px; left:33px; color:#d9bb96; font:700 71px Georgia,serif; line-height:1; }
.reviews-section .lc-quote { max-width:690px; margin:0 auto; font:400 14px/1.55 var(--sans); text-align:center; }
.reviews-section .lc-author { margin-top:12px; font:600 11px/1.4 var(--sans); text-transform:uppercase; letter-spacing:.02em; }
.reviews-section .lc-author span { font:400 11px var(--sans); }
.reviews-section .lc-controls { position:absolute; inset:auto -53px 39% auto; display:flex; justify-content:space-between; width:calc(100% + 106px); pointer-events:none; }
.reviews-section .lc-navbtn { pointer-events:auto; background:#eee7de; color:#1c303a; border:0; border-radius:50%; width:36px; height:36px; }
.reviews-section .lc-navbtn:hover { background:#e0d4c5; }
.reviews-section .lc-thumb-wrap { margin-top:8px; }
.reviews-section .lc-thumb-row { gap:10px; padding:3px 3px 7px; justify-content:center; }
.reviews-section .lc-thumb { flex:1 0 135px; max-width:190px; min-width:125px; padding:10px 11px 12px; border:1px solid #e9e0d5; border-radius:5px; box-shadow:0 2px 7px rgba(51,38,27,.055); background:#fefbf7; text-align:center; }
.reviews-section .lc-thumb.lc-active { background:#fff; border-color:#d9c5aa; }
.reviews-section .lc-thumb .lc-stars { margin-bottom:5px; }
.reviews-section .lc-thumb .lc-star { font-size:14px; }
.reviews-section .lc-name { font:700 10px/1.3 var(--sans); letter-spacing:0; }
.reviews-section .lc-loc { font:500 9px/1.3 var(--sans); letter-spacing:0; margin-top:2px; }
.reviews-section .lc-progress { height:2px; background:rgba(0,0,0,.06); margin-top:5px; }
.reviews-section .lc-bar { background:#cbb18a; }

/* Pale mineral expertise, preserved from the approved concept. */
.expertise-section { padding:31px 0 35px; background:linear-gradient(115deg,#edf2f4 0%,#e9eff2 75%,#e4edf1 100%); position:relative; overflow:hidden; }
.expertise-section:after { content:''; position:absolute; right:-70px; bottom:-95px; width:280px; height:265px; opacity:.34; pointer-events:none; background:conic-gradient(from 55deg at 35% 30%,transparent 0 12%,#fff 12% 24%,transparent 24% 40%,#bdcfd8 40% 48%,transparent 48% 67%,#fff 67% 77%,transparent 77% 100%); transform:rotate(25deg); clip-path:polygon(50% 0,100% 35%,86% 100%,14% 100%,0 35%); }
.editorial-grid { position:relative; z-index:1; display:grid; grid-template-columns: .75fr 1.25fr; gap:50px; align-items:center; }
.editorial-heading { border-right:1px solid #c9ac7b; padding-right:42px; }
.editorial-heading .eyebrow { margin-bottom:8px; }
.editorial-heading h2 { font-size:clamp(26px,2.5vw,38px); line-height:1.16; margin:0; }
.editorial-body { max-width:680px; }
.editorial-body p { font-size:14px; line-height:1.61; color:#233742; margin:0 0 15px; }
.editorial-body p:last-child { margin-bottom:0; }
.bespoke-section { background:#fbf8f4; padding:30px 0 24px; }
.bespoke-section .editorial-heading { grid-column:1; }
.bespoke-section .editorial-heading h2 { font-size:clamp(26px,2.4vw,35px); }
.bespoke-section .fine-rule { margin-top:17px; }
.credentials-section { background:#fff; padding:17px 0 18px; }
.credentials-layout { display:flex; align-items:center; justify-content:center; gap:50px; }
.diamond-grading-logos { max-width:min(630px,66%); max-height:75px; width:auto; object-fit:contain; }
.jewellers-logo { max-height:76px; width:auto; max-width:160px; object-fit:contain; border:1px solid #d7c6a8; border-radius:4px; padding:3px; }

/* Existing photo-strip images and existing company/contact information */
.image-strip { display:flex; justify-content:center; gap:7px; height:139px; background:#062637; overflow:hidden; }
.image-strip a { height:100%; display:block; flex:0 1 215px; overflow:hidden; }
.image-strip img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.image-strip a:hover img {transform:scale(1.04);}
.site-footer { padding:25px 0 29px; color:#fff; background:#052435; border-top:1px solid #b6b9b4; font:12px/1.55 var(--sans); }
.footer-main { display:grid; grid-template-columns: 1.08fr 1.45fr 1.18fr 1.5fr 1fr; align-items:start; gap:22px; }
.footer-main > * + * { border-left:1px solid rgba(255,255,255,.23); padding-left:20px; min-height:74px; }
.footer-brand img {width:100%; max-width:210px; height:auto; display:block;}
.footer-links { display:flex; flex-wrap:wrap; column-gap:12px; row-gap:6px; }
.footer-links a, .footer-contact a, .footer-legal a, .footer-address a { color:#fff; text-decoration:none; }
.footer-links a:hover, .footer-contact a:hover, .footer-legal a:hover, .footer-address a:hover {text-decoration:underline;}
.footer-contact, .footer-legal {display:flex; flex-direction:column; gap:6px;}
.footer-legal a {text-decoration:underline;}

@media (max-width: 1080px) {
  .header-shell { width:calc(100% - 48px); }
  .header-main {gap:19px;}
  .desktop-nav {gap:15px;}
  .desktop-nav a {font-size:12px;}
  .header-quote {padding:12px 14px; font-size:12px;}
  .brand {width:205px;}
  .section-shell {width:calc(100% - 56px);}
  .quote-layout {gap:48px;}
  .quote-aside {padding-left:0;}
  .form-row {grid-template-columns:127px minmax(0,1fr);}
  .footer-main {grid-template-columns:1fr 1.3fr 1.2fr; gap:20px;}
  .footer-main > :nth-child(4) {border-left:0;padding-left:0;}
  .footer-main > :nth-child(5) {border-left:1px solid rgba(255,255,255,.23);}
}
@media (max-width: 800px) {
  .header-utility {display:none;}
  .header-main {min-height:74px;}
  .desktop-nav {display:none;}
  .brand {margin-right:auto; width:220px;}
  .mobile-nav {display:block; order:3;}
  .mobile-nav summary {cursor:pointer; list-style:none; display:flex; flex-direction:column; gap:4px; align-items:center; justify-content:center; width:43px; height:43px;}
  .mobile-nav summary::-webkit-details-marker {display:none;}
  .mobile-nav summary span {display:block; height:2px; width:23px; background:#fff;}
  .mobile-nav summary b {font:600 9px var(--sans); margin-top:1px;}
  .mobile-nav nav {position:absolute; top:100%; left:0; right:0; background:#072c40; padding:17px 26px 23px; box-shadow:0 12px 20px rgba(0,0,0,.16); z-index:40; display:flex; flex-direction:column; gap:0;}
  .mobile-nav nav a {display:block; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.14); color:#fff; text-decoration:none;}
  .handshake-hero {height:130px;}
  .intro-copy {width:58%;}
  .intro-hero-image {left:46%;}
  .intro-hero:after {background:linear-gradient(90deg,#f9f7f4 0%,#f9f7f4 37%,rgba(249,247,244,.85) 48%,rgba(249,247,244,0) 79%);}
  .intro-copy h1 {font-size:39px;}
  .intro-copy p:not(.eyebrow) {font-size:13px;}
  .welcome-panel {padding:23px 22px 21px 31px;}
  .welcome-panel h2 {font-size:27px;}
  .welcome-panel p {font-size:13px;}
  .quote-layout {grid-template-columns:1fr 1.15fr;gap:20px;}
  .reviews-section .lc-controls {position:static; width:auto; inset:auto; justify-content:flex-end; margin-top:12px; gap:9px;}
  .quote-card {padding:20px;}
  .quote-aside p {font-size:14px;}
  .form-row {grid-template-columns:1fr;gap:4px; margin-bottom:10px;}
  .form-row label {font-size:12px;}
  .editorial-grid {gap:25px;}
  .editorial-heading {padding-right:22px;}
  .editorial-body p {font-size:13px;}
  .credentials-layout {gap:20px;}
}
@media (max-width: 650px) {
  .header-shell {width:calc(100% - 34px);}
  .header-main {min-height:67px; gap:10px;}
  .brand {width:175px;}
  .header-quote {padding:10px 12px;font-size:11px;}
  .section-shell {width:calc(100% - 38px);}
  .handshake-hero {height:104px; background-position:50% center;}
  .intro-hero {min-height:0;}
  .intro-hero-image {position:absolute; left:0; top:auto; right:0; height:185px; background-position:center 46%;}
  .intro-hero:after {background:linear-gradient(180deg,#f9f7f4 0%,#f9f7f4 59%,rgba(249,247,244,.72) 72%,rgba(249,247,244,0) 90%);}
  .intro-inner {min-height:0; padding:39px 0 187px;}
  .intro-copy {width:100%;}
  .intro-copy h1 {font-size:clamp(31px,7.5vw,41px); line-height:1.15; margin-bottom:15px;}
  .intro-copy h1 br {display:none;}
  .intro-copy p:not(.eyebrow) {font-size:14px;line-height:1.62;max-width:570px;}
  .welcome-section {padding:22px 0 24px;}
  .welcome-layout {display:block;}
  .welcome-video {width:100%;max-width:100%;height:auto;aspect-ratio:16/9;}
  .welcome-panel {width:calc(100% - 22px);margin:-15px 0 0 auto;min-height:0;padding:23px 26px 22px;}
  .welcome-panel h2 {font-size:27px;}
  .welcome-panel p {font-size:14px;}
  .quote-section {padding:34px 0 32px;}
  .quote-layout {grid-template-columns:1fr;gap:22px;}
  .quote-aside {max-width:none;padding-top:0;}
  .quote-rating {margin-bottom:15px;}
  .quote-aside h2 {font-size:36px;margin-bottom:13px;}
  .quote-aside p {font-size:14px;margin-bottom:0;max-width:580px;}
  .quote-card {padding:22px 19px;}
  .form-row {grid-template-columns:1fr;}
  .quote-card input:not([type=file]), .quote-card select {min-height:40px;font-size:14px;}
  .quote-card textarea {font-size:14px;}
  .send-button {min-height:44px;width:100%;}
  .reviews-section {padding:27px 0 25px;}
  .reviews-section .lc-reviews-widget h2:before, .reviews-section .lc-reviews-widget h2:after {width:22px;margin:0 8px 4px;}
  .reviews-section .lc-main-card {padding:29px 17px 20px;}
  .reviews-section .lc-main-card:before {font-size:45px;top:3px;left:12px;}
  .reviews-section .lc-controls {position:static;width:100%;display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}
  .reviews-section .lc-thumb-row {justify-content:flex-start;}
  .reviews-section .lc-thumb {flex:0 0 142px;}
  .reviews-section .lc-quote {font-size:13px;}
  .editorial-grid {grid-template-columns:1fr; gap:19px;}
  .expertise-section {padding:29px 0 32px;}
  .editorial-heading {border-right:0; border-bottom:1px solid #c9ac7b; padding:0 0 16px;}
  .editorial-heading h2 {font-size:31px;}
  .editorial-heading h2 br {display:none;}
  .editorial-body p {font-size:14px;}
  .bespoke-section {padding:30px 0;}
  .credentials-section {padding:24px 0;}
  .credentials-layout {flex-wrap:wrap; gap:16px;}
  .diamond-grading-logos {max-width:100%;width:100%;max-height:65px;}
  .jewellers-logo {max-width:130px;max-height:66px;}
  .image-strip {height:109px;gap:3px;}
  .image-strip a {flex:1 1 33.333%;}
  .site-footer {padding:30px 0;}
  .footer-main {grid-template-columns:1fr 1fr;gap:22px;}
  .footer-main > * {border:0!important;padding:0!important;min-height:0!important;}
  .footer-brand {grid-column:1 / -1;}
  .footer-brand img {max-width:205px;}
  .footer-links {flex-direction:column; gap:7px;}
  .footer-contact {font-size:12px;}
  .footer-address {grid-column:1 / -1;}
  .footer-legal {grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; column-gap:20px;}
}
@media (max-width: 390px) {
  .header-quote {font-size:10px;padding:9px 8px;}
  .brand {width:153px;}
  .intro-copy h1 {font-size:30px;}
  .welcome-panel {padding:19px 19px 18px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
  *, *:before, *:after {transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* Iteration 2: intentional contact choices and corrected mobile editorial layouts */
.quote-section { scroll-margin-top: 87px; }
.quote-aside .quote-direct-contact { margin-top: 23px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.25); }
.quote-aside .quote-contact-label { font-size: 13px; line-height: 1.45; font-weight: 600; margin: 0 0 13px; color: #fff; }
.quote-contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 355px; }
.quote-contact-action {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 47px; padding: 11px 13px; border-radius: 5px;
  border: 1px solid rgba(223,234,239,.69); color: #fff !important;
  font: 600 13px/1.3 var(--sans); text-decoration: none;
  transition: background .2s ease,border-color .2s ease;
}
.quote-contact-action:hover { background: rgba(255,255,255,.11); border-color: #fff; }
.quote-contact-action img { width: 19px; height: 19px; object-fit: contain; flex: 0 0 19px; }
.quote-contact-action.quote-call { background: rgba(255,255,255,.07); }
.quote-contact-action.quote-whatsapp { background: rgba(255,255,255,.025); }
.expertise-section .editorial-heading h2 { overflow-wrap: normal; word-break: normal; letter-spacing: -.027em; }
@media (max-width: 800px) {
  .quote-aside .quote-direct-contact { margin-top: 20px; }
  .quote-contact-actions { gap: 9px; }
}
@media (max-width: 650px) {
  .welcome-layout { display: flex; flex-direction: column; align-items: stretch; gap: 13px; }
  .welcome-video { width: 100%; max-width: 100%; flex-basis: auto; }
  .welcome-panel {
    width: 100%; margin: 0; border-radius: 5px; padding: 25px 24px 22px;
    box-shadow: 0 3px 10px rgba(48,37,30,.055);
  }
  .welcome-panel h2 { font-size: clamp(25px,6.5vw,29px); }
  .welcome-panel p { font-size: 14px; line-height: 1.62; }
  .quote-contact-actions { max-width: none; }
  .quote-contact-action { min-height: 48px; font-size: 14px; }
  .expertise-section .editorial-heading { border-bottom: 0; padding-bottom: 0; }
  .expertise-section .editorial-heading::after {
    content: ''; display: block; width: 48px; height: 2px;
    background: var(--gold); margin-top: 15px;
  }
  .expertise-section .editorial-heading h2 { font-size: clamp(27px, 7vw, 32px); line-height: 1.22; }
  .expertise-section .editorial-body p { line-height: 1.65; }
  .quote-section { scroll-margin-top: 68px; }
}
