/* COMANDO ALPHA / 2026
   Premium Builderall static template. CSS tokens, semantic components, no dependencies.
*/
:root {
  --ink: #131b14;
  --ink-2: #1b291d;
  --pine: #22372a;
  --olive: #657951;
  --leaf: #adc58c;
  --acid: #d0e69f;
  --sand: #e8e9d9;
  --cream: #f4f3eb;
  --white: #fffdf5;
  --muted: #9ea99b;
  --line: rgba(255,255,255,.17);
  --display: "Arial Narrow", "Roboto Condensed", Impact, "Arial Black", sans-serif;
  --body: "Trebuchet MS", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --container: 1380px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; min-width: 320px; font-family: var(--body); background: var(--cream); color: var(--ink); -webkit-font-smoothing: antialiased; }
body, button, a { -webkit-tap-highlight-color: transparent; }
img, svg { max-width: 100%; display: block; }
img { height: auto; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #c5e9a0; outline-offset: 5px; }
::selection { background: var(--acid); color: var(--ink); }
.container { width: min(calc(100% - 96px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; inset: 12px auto auto 12px; z-index: 300; padding: 14px 20px; background: var(--acid); color: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.eyebrow, .hero-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 30px; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .19em; color: var(--leaf); }
.eyebrow.dark { color: #526647; }
.line-marker { width: 24px; height: 2px; background: currentColor; flex: none; }
.section-pad { padding-block: clamp(95px, 10vw, 158px); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }

/* === Utility bar + navigation === */
.topline { height: 38px; background: #a8be87; color: #172119; }
.topline-inner { height: 100%; display: flex; justify-content: space-between; align-items: center; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.topline-left { display: flex; align-items: center; gap: 11px; }
.signal { display: inline-block; background: #203323; width: 6px; height: 6px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(31,57,30,.12); }
.topline-divider { opacity: .4; }
.topline-right { opacity: .83; }
.header-sentinel { position: absolute; top: 40px; height: 1px; width: 1px; pointer-events: none; }
.site-header { height: 94px; position: sticky; top: 0; z-index: 100; background: rgba(19,27,20,.975); border-bottom: 1px solid rgba(218,240,185,.13); backdrop-filter: blur(18px); transition: height .3s, box-shadow .3s; }
.site-header.is-scrolled { height: 80px; box-shadow: 0 10px 35px rgba(0,0,0,.18); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 30px; }
.logo-link, .footer-logo { width: 184px; flex: none; height: 60px; display: flex; align-items: center; background: #d8ded4; border: 1px solid rgba(255,255,255,.16); padding: 4px 8px; border-radius: 4px; transform: skew(-2deg); }
.brand-logo, .footer-logo img { width: 100%; object-fit: contain; transform: skew(2deg); }
.main-nav { display: flex; gap: clamp(16px, 2.3vw, 37px); align-items: center; margin-left: auto; }
.main-nav a { font-size: 12px; font-weight: 700; color: #e2ead9; transition: color .25s; }
.main-nav a:hover { color: var(--acid); }
.header-contact { display: inline-flex; justify-content: center; align-items: center; gap: 24px; height: 46px; padding: 0 17px; margin-left: 16px; border: 1px solid #92ae75; color: #e0f3cc; font-size: 10px; white-space: nowrap; font-weight: 800; letter-spacing: .08em; transition: background .3s, color .3s; }
.header-contact:hover { background: var(--acid); color: var(--ink); }
.header-contact span:last-child { font-size: 20px; line-height: 1; font-weight: 400; }
.menu-toggle { display: none; cursor: pointer; }

/* === Signature hero === */
.hero { position: relative; min-height: 755px; background: #131d15; color: #f5f7ed; overflow: hidden; isolation: isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.28; background: linear-gradient(105deg, rgba(24,39,26,1) 11%, rgba(18,32,19,.65) 62%, transparent 100%), repeating-linear-gradient(0deg, transparent 0 84px, rgba(198,221,154,.055) 85px 86px), repeating-linear-gradient(90deg, transparent 0 84px, rgba(198,221,154,.055) 85px 86px); }
.hero::after { content:""; position:absolute; inset:auto 0 0; height: 235px; background: linear-gradient(0deg, rgba(0,0,0,.2), transparent); pointer-events:none; z-index:-1; }
.hero-radar { width: 880px; height: 880px; position: absolute; left: -350px; bottom:-525px; pointer-events:none; opacity:.13; border:1px solid var(--acid); border-radius:50%; box-shadow:0 0 0 105px rgba(185,213,153,.06),0 0 0 215px rgba(185,213,153,.045),0 0 0 330px rgba(185,213,153,.025); }
.hero-ghost { position:absolute; right:-35px; bottom: -14%; z-index:0; font: 900 clamp(260px, 30vw, 570px)/1 var(--display); letter-spacing:-.09em; color:rgba(190,209,166,.028); white-space:nowrap; pointer-events:none; }
.hero-layout { position:relative; z-index:1; min-height: 680px; display:grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(15px, 3vw, 58px); align-items:center; padding-top: 45px; padding-bottom: 62px; }
.hero-copy { align-self:center; position:relative; z-index:2; padding-top: 10px; }
.hero-eyebrow { font-size: 10px; margin-bottom: 28px; }
h1 { font: 900 clamp(58px, 6.4vw, 105px)/.985 var(--display); margin:0; letter-spacing:-.069em; transform: scaleX(.94); transform-origin:left center; white-space:nowrap; }
h1 em, .manifesto h2 em, .contact-intro h2 em, .insignias h2 em { display: inline-block; font-style: normal; color: var(--acid); }
.hero-description { margin: 34px 0 30px; max-width:465px; color: #ced8c8; font-size: clamp(14px, 1.23vw, 17px); line-height:1.85; }
.hero-actions { display: flex; gap: 11px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-height: 56px; padding: 0 24px; font-size: 11px; font-weight: 900; letter-spacing: .055em; white-space: nowrap; border: 1px solid transparent; transition:transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
.button:hover { transform:translateY(-3px); }
.button span { font-size: 21px; font-weight: 400; }
.button-primary { background:var(--acid); color:var(--ink); box-shadow: 0 9px 28px rgba(9,18,9,.19); }
.button-primary:hover { background:#e2f4bb; }
.button-ghost { border-color:rgba(220,231,208,.3); color:#e8eadb; }
.button-ghost:hover { border-color:var(--acid); background:rgba(213,237,181,.08); }
.button-dark { color:#eef5e4; background:#1a2a1d; }
.button-dark:hover { background:#3a5733; }
.hero-badges { display:flex; align-items:center; gap:24px; margin-top: 56px; }
.hero-badge { display:flex; gap:9px; align-items:center; }
.hero-badge strong { font:900 54px/.86 var(--display); letter-spacing:-.07em; color:var(--acid); }
.hero-badge span { color:#b9c5b3; font-size:9px; font-weight:800; line-height:1.5; letter-spacing:.11em; }
.hero-badge-word { flex-direction:column; align-items:flex-start; gap:3px; }
.hero-badge-word strong { font:900 20px/1 var(--display); letter-spacing:-.03em; white-space:nowrap; }
.hero-badge-word span { white-space:nowrap; }
.hero-badge-divider { width: 1px; height:38px; background:rgba(225,237,205,.25); }
.hero-visual { height: 585px; min-width:0; position:relative; align-self:center; }
.photo-outline { position:absolute; inset: -14px 0 35px 25px; border:1px solid rgba(210,232,174,.25); clip-path: polygon(0 12%,12% 0,100% 0,100% 90%,91% 100%,0 100%); }
.hero-photo-wrap { position:absolute; inset: 12px 15px 13px 0; isolation: isolate; clip-path:polygon(0 12%, 12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%); background:#314531; }
.hero-photo { width:100%; height:100%; object-fit:cover; object-position:51% center; filter: contrast(1.045) saturate(.68) brightness(.69); transform:scale(1.17); transition:transform 1.4s var(--ease), filter 1.4s; }
.hero-visual:hover .hero-photo { transform:scale(1.075); filter: contrast(1.05) saturate(.86) brightness(.76); }
.photo-scrim { position:absolute; inset:0; background: linear-gradient(90deg, rgba(15,28,14,.40), transparent 30%), linear-gradient(180deg,rgba(7,14,8,.35),transparent 22%,transparent 47%,rgba(6,17,9,.88)); }
.photo-topline { position:absolute; top:22px; left:33px; right:29px; display:flex; justify-content:space-between; color:#f4f7e6; font-size:9px; font-weight:900; letter-spacing:.14em; }
.photo-caption { position:absolute; bottom:40px; left:34px; display:flex; align-items:flex-start; gap:15px; font-size:12px; font-weight:900; letter-spacing:.16em; line-height:1.55; }
.caption-dash { margin-top:7px; height:2px; width:22px; background:var(--acid); }
.hero-seal { position:absolute; right:-14px; bottom:24px; z-index:3; width:144px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #dbf1a5; border-radius:50%; background:#cbe69e; color:#152118; box-shadow:0 18px 50px rgba(0,0,0,.35); transform:rotate(9deg); }
.hero-seal::before {content:"";position:absolute; inset:7px; border:1px dashed #344935; border-radius:50%; }
.hero-seal > span:first-child { font:900 66px/.78 var(--display); letter-spacing:-.07em; }
.hero-seal small { margin-top:7px; font-size:9px; font-weight:900; line-height:1.2; text-align:center; letter-spacing:.13em; }
.hero-seal .seal-plus { position:absolute; top:14px; right:32px; font-size:14px; }
.vertical-code {position:absolute;right:-24px;top:100px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.24em;font-weight:900;color:#afc09f;}
.hero-bottom { position:relative; z-index:1; display:flex; gap:22px; align-items:center; width:min(calc(100% - 96px),var(--container)); margin:auto; padding:0 0 28px; color:#889c81; font-size:10px; letter-spacing:.14em; font-weight:800; }
.hero-bottom-line { flex:1; height:1px; background:rgba(224,243,207,.16); }
.hero-bottom b { padding-left:7px; color:var(--acid); font-size:19px; vertical-align:-2px; }

/* === Sector ticker === */
.ticker { background:var(--acid); border-top:1px solid rgba(0,0,0,.13); border-bottom:1px solid rgba(0,0,0,.13); overflow:hidden; }
.ticker-track { min-height: 68px; display:flex; align-items:center; justify-content:space-evenly; gap:22px; padding-inline:26px; white-space:nowrap; }
.ticker span { font:900 clamp(12px,1.2vw,16px)/1.1 var(--display); letter-spacing:-.018em; color:#1d311c; }
.ticker b { font-size:17px; color:#476442; }

/* === Services === */
.expertise {background:#f2f1e8; position:relative; overflow:hidden;}
.expertise::before { content:""; position:absolute; top:-260px; right:-280px; width:700px; aspect-ratio:1; border-radius:50%; border:1px solid rgba(63,88,51,.06); box-shadow:0 0 0 110px rgba(62,88,51,.023),0 0 0 230px rgba(62,88,51,.018); pointer-events:none; }
.section-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:55px;}
.section-heading h2, .reviews h2, .craft h2 { font:900 clamp(44px,5.1vw,78px)/1.05 var(--display); letter-spacing:-.058em; margin:0; }
.section-heading h2 span, .reviews h2 span, .craft h2 span { color:#6e845e; }
.heading-side {max-width:270px; margin-bottom:5px; font-size:14px;line-height:1.9;color:#66715f;}
.service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;}
.service-card { min-height:486px; padding:28px 24px 30px; display:flex; flex-direction:column; overflow:hidden; isolation:isolate; position:relative; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.service-card:hover { transform:translateY(-9px);box-shadow:0 18px 50px rgba(18,33,19,.14); }
.service-card-header { display:flex; align-items:center; justify-content:space-between; font-size:9px; font-weight:900; letter-spacing:.12em; position:relative;z-index:3; }
.service-card-header > span:last-child {font-size:25px;line-height:1; font-weight:400;}
.service-card-body { margin-top:auto;position:relative;z-index:2; }
.service-chip {display:inline-block;margin-bottom:13px;font-size:9px;letter-spacing:.13em;font-weight:900;opacity:.78;}
.service-card h3 {font:900 clamp(26px,2.35vw,36px)/1.07 var(--display);letter-spacing:-.045em;margin:0 0 15px;}
.service-card p {font-size:12px;line-height:1.8;margin:0;opacity:.85;max-width:265px;}
.service-card-feature {color:#e6ecd8;background:#233a2a;}
.service-card-feature::before {content:"";position:absolute;inset:0;opacity:.13;background:repeating-linear-gradient(155deg,transparent 0 24px,#99b589 25px 26px,transparent 27px 58px);}
.service-sigil {position:absolute;top:100px;left:50%;transform:translateX(-50%);width:190px;height:190px;display:grid;place-items:center;opacity:.40;}
.sigil-cross {font:300 140px/1 Arial,sans-serif;color:#d0e5bd;transform:rotate(45deg);}
.sigil-ring {position:absolute;inset:17px;border-radius:50%;border:1px dashed #dfedcf;}
.sigil-ring.two {inset:-15px;opacity:.4;border-style:solid;}
.service-card-dark {color:#dfe6d9;background:#17231a;}
.service-card-light {background:#e2e5d3;color:#203223;}
.service-card-green {background:#a3b98d;color:#203221;}
.service-icon {width:160px;height:160px;position:absolute;left:50%;top:74px;transform:translateX(-50%);color:currentColor;opacity:.45;}
.service-footer { margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;border-top:1px solid #cdd4c6;font-size:10px;letter-spacing:.13em;font-weight:900;color:#687461; }
.service-footer a {display:inline-flex;align-items:center;gap:16px;color:#223725;border-bottom:1px solid #223725;padding-bottom:8px;transition:color .2s;}
.service-footer a:hover {color:#6d8e4c;}
.service-footer a span {font-size:20px;font-weight:400;}

/* === About/manifesto === */
.manifesto {background:#17241a;color:#e4eadc;position:relative;overflow:hidden;}
.manifesto::before {content:"";position:absolute;width:780px;height:780px;left:-280px;top:-280px;border:1px solid rgba(207,229,171,.06);border-radius:50%;box-shadow:0 0 0 85px rgba(207,229,171,.028),0 0 0 175px rgba(207,229,171,.023);pointer-events:none;}
.manifesto-noise { position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(30deg,transparent 0 29px,#dce9cd 30px 30.5px,transparent 31px 96px);mask-image:linear-gradient(90deg,transparent 15%,#000 100%);pointer-events:none; }
.manifesto-inner {display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(45px,10vw,185px);position:relative;}
.manifesto h2, .contact-intro h2, .insignias h2 {font:900 clamp(53px,5.7vw,89px)/1.02 var(--display);letter-spacing:-.062em;margin:0;}
.manifesto-stamp {position:relative;margin-top:77px;width:130px;height:130px;border:1px solid #7e9c6b;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-14deg);opacity:.76;}
.manifesto-stamp::before {content:"";inset:10px;border:1px dashed #95b584;border-radius:50%;position:absolute;}
.manifesto-stamp span {font:900 26px/1 var(--display);letter-spacing:-.04em;}
.manifesto-stamp b {font-size:9px;letter-spacing:.13em;margin-top:9px;}
.manifesto-right {padding-top:17px;}
.story-count {display:flex;gap:19px;align-items:flex-end;margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid rgba(236,244,215,.22);}
.story-count > strong {font:900 clamp(108px,12vw,185px)/.79 var(--display);letter-spacing:-.10em;color:var(--acid);}
.story-count > div {display:flex;flex-direction:column;gap:8px;}
.story-count > div span {font:900 42px/1 var(--display);color:var(--acid);}
.story-count small {color:#a8bda4;font-size:10px;letter-spacing:.13em;line-height:1.5;max-width:100px;}
.story-lead {color:#e7f3d6!important;font-size:20px!important;line-height:1.55!important;font-weight:700;margin-bottom:23px!important;}
.manifesto-right > p {max-width:480px;color:#afc0ae;font-size:14px;line-height:1.95;margin-bottom:21px;}
.text-link {display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid #8ea97b;color:#d0e9a9;font-weight:900;font-size:10px;letter-spacing:.12em;margin-top:24px;padding-bottom:12px;transition:gap .25s;}
.text-link:hover {gap:55px;}
.text-link span {font-size:21px;font-weight:400;}
.manifesto-bottom {display:flex;justify-content:space-between;gap:15px;margin-top:95px;padding-top:23px;border-top:1px solid rgba(226,236,207,.15);color:#93a792;font-size:9px;font-weight:900;letter-spacing:.15em;}

/* === Craft / storytelling === */
.craft {background:var(--cream);}
.craft-wrap {display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(60px,8vw,135px);align-items:center;}
.craft-visual {min-width:0;position:relative;padding-bottom:78px;}
.craft-frame {width:100%;aspect-ratio:1253 / 598;height:auto;position:relative;overflow:hidden;background:#273b29;box-shadow:0 27px 66px rgba(24,39,28,.19);}
.craft-frame img {width:100%;height:auto;object-fit:contain;filter:saturate(.88) contrast(1.04);transform:none;transition:filter .5s var(--ease);}
.craft-visual:hover .craft-frame img {filter:saturate(1) contrast(1.06);}
.craft-frame::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 85%,rgba(13,27,17,.11));pointer-events:none;}
.craft-overlap {position:relative;margin:-1px 0 0 auto;bottom:auto;right:auto;width:234px;height:188px;padding:28px 25px;display:flex;flex-direction:column;justify-content:space-between;color:#20321d;background:#c9dfa5;box-shadow:0 25px 60px rgba(23,34,16,.2);}
.craft-overlap span {font:900 33px/1.06 var(--display);letter-spacing:-.045em;}
.craft-overlap b {align-self:flex-end;font-size:27px;font-weight:400;}
.craft-photolabel {position:absolute;bottom:24px;left:0;color:#63725c;font-size:9px;letter-spacing:.12em;font-weight:900;}
.craft h2 {font-size:clamp(50px,5.1vw,75px);margin-bottom:27px;}
.craft-copy > p:not(.eyebrow) {max-width:440px;color:#657160;font-size:14px;line-height:1.9;margin-bottom:31px;}
.craft-principles {border-top:1px solid #cad4c5;margin-bottom:33px;}
.craft-principles > div {display:grid;grid-template-columns:43px 1fr;column-gap:10px;align-items:start;padding:15px 0;border-bottom:1px solid #cad4c5;}
.craft-principles span {grid-row:span 2;color:#708b62;font:900 18px/1 var(--display);}
.craft-principles strong {font-size:11px;letter-spacing:.065em;}
.craft-principles small {font-size:12px;line-height:1.5;color:#6b7567;margin-top:5px;}

/* === Professional universe === */
.insignias {padding-block:80px;background:#2b4030;color:#eaf0de;position:relative;overflow:hidden;}
.insignias::before {position:absolute;content:"";inset:0;opacity:.14;background:linear-gradient(115deg,transparent 10%,#58734f 10% 23%,transparent 23% 37%,#456543 37% 50%,transparent 50% 100%);pointer-events:none;}
.insignias-grid {display:grid;grid-template-columns:.88fr 1.12fr;gap:50px;align-items:center;position:relative;z-index:1;}
.insignias h2 {font-size:clamp(41px,4vw,62px);margin-bottom:23px;}
.insignias-title > p:not(.eyebrow) {max-width:380px;color:#c3d0bb;font-size:13px;line-height:1.8;}
.insignias-title > small {max-width:350px;display:block;color:#acbcaa;font-size:10px;line-height:1.6;}
.insignias-art {position:relative;background:#93a782;border:1px solid rgba(237,249,220,.19);padding:13px;box-shadow:0 20px 70px rgba(0,0,0,.15);transform:rotate(1.5deg);}
.insignias-art::before {content:"";position:absolute;inset:-15px 14px 13px -15px;border:1px solid rgba(220,247,177,.36);pointer-events:none;}
.insignias-art img {width:100%;height:auto;object-fit:contain;}

/* === Reviews === */
.reviews {background:#ebede3;}
.reviews-head {display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:44px;}
.reviews-head > p {color:#73806f;font-size:13px;line-height:1.8;max-width:230px;margin-bottom:6px;}
.reviews-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.review-card {margin:0;min-height:350px;padding:45px 43px 30px;background:#fffef9;border:1px solid #dce2d5;box-shadow:0 16px 60px rgba(45,71,37,.055);display:flex;flex-direction:column;}
.review-stars {color:#9aa95f;font-size:20px;letter-spacing:.14em;}
.review-card blockquote {margin:30px 0 30px;color:#263529;font-size:clamp(17px,1.6vw,22px);line-height:1.52;font-weight:800;letter-spacing:-.035em;}
.review-card figcaption {margin-top:auto;display:flex;align-items:center;gap:12px;}
.review-avatar {width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#b7431e;color:#fff;font-weight:900;flex:none;}
.review-avatar-green {background:#456849;}
.review-card figcaption strong {font-size:12px;display:block;line-height:1.5;}
.review-card figcaption small {color:#7d897a;font-size:10px;display:block;margin-top:2px;}
.quote-mark {font:900 78px/.55 Georgia,serif;color:#9fb88c;margin-left:auto;}
.review-source {margin-top:24px;padding-top:13px;border-top:1px solid #e5e9df;}
.review-source summary {font-size:10px;font-weight:800;color:#5c7452;cursor:pointer;min-height:29px;display:list-item;list-style:disclosure-closed inside;}
.review-source[open] summary {list-style:disclosure-open inside;}
.review-source img {margin-top:12px;border:1px solid #dedede;border-radius:3px;width:100%;max-width:499px;}

/* === Contact === */
.contact-section {padding-block:clamp(90px,9vw,145px);background:#142219;color:#ecf3e4;overflow:hidden;position:relative;}
.contact-section::before {content:"";position:absolute;inset:0;opacity:.11;pointer-events:none;background:repeating-linear-gradient(-45deg,transparent 0 30px,rgba(206,227,184,.43) 31px 31.5px,transparent 32px 81px);mask-image:linear-gradient(90deg,#000 0%,transparent 80%);}
.contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,10vw,155px);position:relative;z-index:1;}
.contact-intro h2 {font-size:clamp(55px,6vw,91px);margin-bottom:26px;}
.contact-intro > p:not(.eyebrow) {max-width:370px;color:#b3c5ad;font-size:14px;line-height:1.9;margin-bottom:29px;}
.contact-info {align-self:start;background:#263c2c;border:1px solid #3e5841;padding:32px clamp(25px,3.5vw,51px) 40px;box-shadow:0 30px 70px rgba(0,0,0,.15);}
.contact-info-top {display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:800;color:#bdd3a9;padding-bottom:25px;border-bottom:1px solid #60735c;}
.contact-info-top > span:last-child {font-size:26px;}
.contact-info address {display:flex;flex-direction:column;gap:11px;font-style:normal;padding-top:32px;}
.info-label {color:#a8c08f;font-weight:900;letter-spacing:.16em;font-size:10px;}
.contact-info address strong {font:900 clamp(30px,3.6vw,48px)/1.08 var(--display);letter-spacing:-.04em;}
.contact-info address > span:last-child {color:#b4c6ad;font-size:12px;}
.location-link {display:flex;gap:18px;align-items:center;justify-content:space-between;max-width:230px;margin-top:25px;border-bottom:1px solid #a6c38c;padding-bottom:10px;color:#d7ecb8;font-size:10px;letter-spacing:.06em;font-weight:900;}
.location-link span {font-size:20px;font-weight:400;}
.contact-numbers {margin-top:38px;padding-top:26px;border-top:1px solid #60735c;display:grid;grid-template-columns:1fr 1fr;gap:17px;}
.contact-number {display:flex;flex-direction:column;gap:13px;min-width:0;}
.contact-number a {display:flex;align-items:center;gap:7px;font:900 clamp(19px,1.9vw,26px)/1.1 var(--display);letter-spacing:-.04em;white-space:nowrap;}
.contact-number a:hover {color:var(--acid);}
.contact-number a span {font:400 20px/1 var(--body);color:var(--acid);}

/* === Footer === */
.site-footer {background:#0d150f;color:#a6b3a2;}
.footer-top {display:flex;align-items:center;gap:clamp(30px,8vw,120px);padding-block:50px;}
.footer-logo {width:160px;height:52px;}
.footer-top p {font-size:11px;line-height:1.9;letter-spacing:.1em;font-weight:900;margin:0;}
.back-to-top {margin-left:auto;border-bottom:1px solid #7c9874;padding-bottom:8px;color:#c5dcb8;font-size:10px;font-weight:900;letter-spacing:.07em;white-space:nowrap;}
.back-to-top span {font-size:18px;margin-left:16px;vertical-align:-1px;}
.footer-bottom {padding-block:22px 35px;border-top:1px solid rgba(214,239,208,.13);display:flex;gap:25px;justify-content:space-between;font-size:9px;letter-spacing:.08em;font-weight:800;}
.footer-bottom a:hover {color:var(--acid);}
.mobile-contact {display:none;}

/* === Professional animation === */
.will-reveal {opacity:0;transform:translateY(32px);transition:opacity .75s var(--ease),transform .9s var(--ease);}
.will-reveal.is-visible {opacity:1;transform:translateY(0);}
.service-card:nth-child(2).will-reveal {transition-delay:.09s;}
.service-card:nth-child(3).will-reveal {transition-delay:.18s;}
.service-card:nth-child(4).will-reveal {transition-delay:.27s;}
.review-card:nth-child(2).will-reveal {transition-delay:.11s;}

@media (max-width: 1240px) {
  .container { width:min(calc(100% - 70px),var(--container)); }
  .main-nav {gap:15px;}
  .logo-link {width:165px;height:56px;}
  .header-contact {margin-left:0;padding-inline:14px;gap:13px;}
  .hero-layout {grid-template-columns:1fr 1fr;gap:15px;}
  h1 {font-size:clamp(53px,6.0vw,77px);}
  .hero-visual {height:530px;}
  .hero-badges {gap:14px;}
  .hero-badge strong {font-size:44px;}
  .hero-badge-word strong {font-size:17px;}
  .service-card {padding-inline:19px;}
  .service-card h3 {font-size:clamp(24px,2.45vw,32px);}
  .hero-bottom {width:calc(100% - 70px);}
}
@media (max-width: 1030px) {
  .topline-right {display:none;}
  .site-header {height:82px;}
  .main-nav {gap:13px;}
  .main-nav a {font-size:10px;}
  .header-contact {font-size:9px;}
  .hero {min-height:auto;}
  .hero-layout {padding-top:65px;min-height:650px;}
  .hero-photo-wrap {inset:18px 0 22px 0;}
  .hero-visual {height:495px;}
  .hero-seal {width:116px;right:-14px;bottom:22px;}
  .hero-seal > span:first-child {font-size:53px;}
  .hero-seal small {font-size:8px;}
  h1 {font-size:clamp(50px,5.9vw,66px);}
  .hero-description {font-size:14px;}
  .button {min-height:51px;padding-inline:17px;font-size:10px;gap:15px;}
  .hero-badges {margin-top:35px;}
  .hero-badge-word strong {font-size:15px;}
  .hero-badge-word span {font-size:8px;}
  .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-card {min-height:420px;padding:28px;}
  .service-card h3 {font-size:37px;}
  .story-count > strong {font-size:120px;}
  .craft-wrap {gap:65px;}
  .craft-frame {height:auto;}
  .craft-overlap {right:auto;width:190px;height:170px;}
  .craft-overlap span {font-size:28px;}
  .contact-grid {gap:43px;}
  .contact-number a {font-size:20px;}
  .contact-numbers {grid-template-columns:1fr;}
}
@media (max-width: 900px) {
  .site-header, .site-header.is-scrolled {height:78px;}
  .logo-link {width:168px;height:53px;}
  .header-contact {margin-left:auto;}
  .menu-toggle {width:44px;height:44px; flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #60755a;background:transparent;color:var(--cream);}
  .menu-toggle span {width:19px;height:2px;display:block;background:#d5eac1;transition:transform .2s, opacity .2s;}
  .menu-toggle.is-open span:first-child {transform:translateY(8px) rotate(45deg);}
  .menu-toggle.is-open span:nth-child(2) {opacity:0;}
  .menu-toggle.is-open span:last-child {transform:translateY(-8px) rotate(-45deg);}
  .main-nav {position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;background:#17251a;padding:15px 35px 25px;box-shadow:0 20px 35px rgba(0,0,0,.24);border-bottom:1px solid #658056;}
  .main-nav.is-open {display:flex;}
  .main-nav a {padding:17px 0;border-bottom:1px solid #3f5640;font-size:15px;}
  .hero-layout {grid-template-columns:1fr;gap:0;padding-top:68px;padding-bottom:15px;}
  .hero-copy {max-width:650px;}
  h1 {font-size:clamp(68px,9.3vw,105px);}
  .hero-description {font-size:16px;max-width:570px;margin-top:25px;}
  .hero-visual {height:550px;margin-top:70px;width:95%;justify-self:end;}
  .hero-seal {width:145px;}
  .hero-seal > span:first-child {font-size:68px;}
  .hero-bottom {padding-top:30px;}
  .ticker-track {min-width:max-content;justify-content:flex-start;padding-inline:40px;gap:24px;}
  .manifesto-inner {gap:45px;}
  .manifesto h2 {font-size:clamp(54px,6.9vw,72px);}
  .craft-wrap {grid-template-columns:1fr;}
  .craft-frame {height:auto;}
  .craft-copy {max-width:640px;}
  .craft-copy h2 {font-size:clamp(62px,8vw,80px);}
  .insignias-grid {grid-template-columns:1fr;}
  .insignias-title {max-width:750px;}
  .insignias h2 {font-size:65px;}
  .insignias-art {max-width:650px;margin-left:15px;}
  .contact-grid {grid-template-columns:1fr;gap:55px;}
  .contact-intro {max-width:700px;}
  .contact-intro h2 {font-size:80px;}
  .contact-numbers {grid-template-columns:1fr 1fr;}
}
@media (max-width: 640px) {
  html {scroll-padding-top:77px;}
  .container {width:calc(100% - 38px);}
  .topline {height:31px;}
  .topline-inner {font-size:8px;}
  .topline-left {gap:7px;}
  .site-header,.site-header.is-scrolled {height:69px;}
  .logo-link {width:141px;height:47px;}
  .header-inner {gap:10px;}
  .header-contact {height:42px;padding-inline:10px;font-size:9px;gap:7px;}
  .header-contact span:first-child {display:none;}
  .header-contact span:last-child {font-size:26px;}
  .main-nav {top:69px;padding-inline:20px;}
  .hero-layout {padding-top:67px;}
  .hero-eyebrow {font-size:9px;letter-spacing:.11em;margin-bottom:23px;}
  .line-marker {width:15px;}
  h1 {font-size:clamp(52px,11.4vw,76px);letter-spacing:-.075em;line-height:1.00;transform:scaleX(.96);}
  .hero-description {font-size:14px;line-height:1.8;max-width:340px;margin:25px 0 28px;}
  .hero-actions {gap:11px;}
  .hero-actions .button {width:100%;justify-content:space-between;font-size:10px;min-height:52px;padding-inline:19px;}
  .hero-actions .button-ghost {width:auto;min-height:43px;padding-inline:0;border:none;font-size:10px;color:#c9dcc2;}
  .hero-badges {margin-top:35px;gap:13px;flex-wrap:wrap;}
  .hero-badge strong {font-size:48px;}
  .hero-badge-word strong {font-size:15px;}
  .hero-badge span {font-size:8px;}
  .hero-badge-divider {height:32px;}
  .hero-badge-divider:last-of-type,.hero-badge-word:last-child {display:none;}
  .hero-visual {width:100%;height:365px;margin-top:45px;}
  .photo-outline {inset:-7px 0 20px 12px;}
  .hero-photo-wrap {inset:7px 7px 10px 0;clip-path:polygon(0 10%, 12% 0, 100% 0,100% 89%,88% 100%,0 100%);}
  .hero-photo {object-position:52% center;transform:scale(1.2);}
  .photo-topline {font-size:8px;top:18px;left:20px;right:17px;}
  .photo-caption {font-size:9px;bottom:30px;left:20px;gap:9px;}
  .caption-dash {width:15px;}
  .hero-seal {width:93px;bottom:7px;right:-5px;}
  .hero-seal > span:first-child {font-size:46px;}
  .hero-seal small {font-size:7px;margin-top:5px;}
  .hero-seal .seal-plus {top:7px;right:19px;font-size:10px;}
  .vertical-code {display:none;}
  .hero-bottom {width:calc(100% - 38px);padding-bottom:20px;padding-top:23px;font-size:8px;gap:10px;}
  .hero-bottom span:first-child {display:none;}
  .ticker-track {height:55px;min-height:55px;padding-inline:20px;gap:17px;}
  .ticker span {font-size:14px;}
  .section-pad {padding-block:82px;}
  .eyebrow {font-size:10px;margin-bottom:23px;letter-spacing:.14em;}
  .section-heading {display:block;margin-bottom:32px;}
  .section-heading h2,.reviews h2 {font-size:clamp(42px,9.3vw,58px);}
  .heading-side {margin:24px 0 0;font-size:13px;max-width:330px;}
  .service-grid {grid-template-columns:1fr;gap:10px;}
  .service-card {min-height:370px;padding:25px 25px 27px;}
  .service-card h3 {font-size:35px;}
  .service-card p {font-size:12px;max-width:330px;}
  .service-sigil {top:75px;width:150px;height:150px;}
  .service-icon {top:55px;width:130px;height:130px;}
  .service-footer {align-items:flex-start;flex-direction:column;gap:14px;font-size:10px;margin-top:15px;}
  .manifesto-inner {grid-template-columns:1fr;gap:30px;}
  .manifesto h2 {font-size:clamp(48px,10.3vw,70px);}
  .manifesto-stamp {width:84px;height:84px;margin-top:38px;}
  .manifesto-stamp span {font-size:18px;}
  .manifesto-stamp b {font-size:7px;margin-top:5px;}
  .story-count {margin-bottom:28px;}
  .story-count > strong {font-size:116px;}
  .story-count > div span {font-size:39px;}
  .story-lead {font-size:19px!important;}
  .manifesto-right > p {font-size:13px;}
  .manifesto-bottom {margin-top:65px;font-size:8px;}
  .manifesto-bottom span:last-child {display:none;}
  .craft-wrap {gap:8px;}
  .craft-visual {padding-bottom:90px;}
  .craft-frame {height:auto;}
  .craft-frame img {object-position:center;}
  .craft-overlap {width:163px;height:146px;right:auto;bottom:auto;padding:21px;}
  .craft-overlap span {font-size:25px;}
  .craft-photolabel {bottom:35px;line-height:1.4;font-size:8px;max-width:160px;}
  .craft h2 {font-size:clamp(47px,9.4vw,65px);}
  .craft-copy > p:not(.eyebrow) {font-size:13px;}
  .craft-principles small {font-size:11px;}
  .craft-copy .button {width:100%;}
  .insignias {padding-block:75px;}
  .insignias-grid {gap:32px;}
  .insignias h2 {font-size:clamp(43px,8.9vw,59px);}
  .insignias-art {margin-inline:7px;padding:7px;}
  .insignias-art::before {inset:-8px 7px 7px -8px;}
  .reviews-head {display:block;margin-bottom:30px;}
  .reviews-head > p {margin-top:18px;max-width:300px;}
  .reviews-grid {grid-template-columns:1fr;gap:12px;}
  .review-card {min-height:290px;padding:32px 24px 23px;}
  .review-card blockquote {font-size:19px;line-height:1.6;margin:25px 0;}
  .review-card figcaption strong {font-size:11px;}
  .quote-mark {font-size:54px;}
  .contact-section {padding-block:83px 90px;}
  .contact-grid {gap:43px;}
  .contact-intro h2 {font-size:clamp(49px,10vw,72px);}
  .contact-info {padding:25px 21px 29px;}
  .contact-info address strong {font-size:clamp(30px,8vw,42px);}
  .contact-numbers {grid-template-columns:1fr;gap:24px;}
  .contact-number a {font-size:26px;}
  .footer-top {flex-wrap:wrap;column-gap:20px;row-gap:24px;padding-block:36px;}
  .footer-top p {font-size:10px;}
  .back-to-top {margin-left:0;}
  .footer-bottom {flex-direction:column;gap:11px;font-size:9px;padding-block:21px 104px;}
  .mobile-contact {position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:85;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;background:var(--acid);color:var(--ink);box-shadow:0 9px 40px rgba(0,0,0,.32);border:1px solid #e4f8c2;font-size:11px;font-weight:900;letter-spacing:.055em;}
  .mobile-contact span {font-size:25px;font-weight:400;}
}
@media (max-width: 375px) {
  .container {width:calc(100% - 32px);}
  h1 {font-size:clamp(47px,11.7vw,55px);}
  .hero-badges {gap:10px;}
  .hero-badge strong {font-size:42px;}
  .hero-badge-word strong {font-size:13px;}
  .hero-badge-word span {font-size:7px;}
  .hero-visual {height:328px;}
  .service-card {min-height:365px;}
  .review-card figcaption strong {font-size:10px;}
  .contact-info address strong {font-size:32px;}
  .contact-number a {font-size:23px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
  *,*::before,*::after {animation:none!important;transition-duration:.01ms!important;}
  .will-reveal {opacity:1!important;transform:none!important;}
}
/* Mobile art direction: place the photographic signature directly after the title,
   rather than allowing a compressed desktop composition to hide it below the fold. */
@media (max-width: 640px) {
  .hero-layout {display:flex;flex-direction:column;align-items:stretch;}
  .hero-copy {display:contents;}
  .hero-eyebrow {order:1;}
  .hero h1 {order:2;}
  .hero-visual {order:3;align-self:stretch;margin-top:31px;}
  .hero-description {order:4;margin-top:28px;max-width:360px;}
  .hero-actions {order:5;}
  .hero-badges {order:6;margin-top:31px;margin-bottom:9px;}
}


/* =====================================================
   v1.1: direct contacts / full photo / Google Maps / cursor shadow
   ===================================================== */
.topline {height:42px;}
.topline-inner {gap:16px;}
.topline-contacts {display:flex;align-items:center;gap:16px;letter-spacing:.06em;font-size:11px;white-space:nowrap;}
.topline-contacts a {display:inline-flex;align-items:center;gap:7px;font-weight:900;border-bottom:1px solid rgba(20,36,21,.25);padding:4px 0;transition:border-color .2s,color .2s;}
.topline-contacts a:hover {color:#2e5d29;border-color:#2e5d29;}
.topline-contact-label {font-size:9px;letter-spacing:.13em;opacity:.8;}
.topline-separator {opacity:.4;}
.hero-contact-links {display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin:18px 0 0;font-size:11px;}
.hero-contact-links > span {font-size:9px;font-weight:900;letter-spacing:.12em;color:#a2b59b;}
.hero-contact-links a {color:#e7efda;font-weight:800;letter-spacing:.005em;border-bottom:1px solid rgba(206,236,181,.44);padding:3px 0;min-height:32px;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;}
.hero-contact-links a:hover {color:var(--acid);}
.hero-contact-links a span {color:var(--acid);font-weight:400;}
.hero-badges {margin-top:34px;}
.craft-visual {padding-bottom:65px;}
.craft-photolabel {z-index:1;}
.craft-overlap {clip-path:polygon(0 0,100% 0,100% 86%,86% 100%,0 100%);}
.review-card {min-height:355px;}
.review-card blockquote {overflow-wrap:break-word;}
.contact-details {border-top:1px solid #60735c;margin-top:32px;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.hours-details p {display:flex;gap:8px;justify-content:space-between;margin:12px 0 0;font-size:12px;line-height:1.5;color:#ecf2e8;}
.hours-details p strong {font-weight:700;}
.hours-details p span {color:#d4e3c8;white-space:nowrap;}
.instagram-details a {font-weight:900;color:#d8f3c0;font-size:14px;display:inline-flex;align-items:center;gap:12px;margin-top:15px;border-bottom:1px solid #8fbd76;padding-bottom:9px;}
.instagram-details a:hover {color:var(--acid);}
.map-section {background:#edf0e5;padding:105px 0 130px;}
.map-heading {display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:36px;}
.map-heading h2 {font:900 clamp(46px,5vw,76px)/1.02 var(--display);letter-spacing:-.06em;margin:0;}
.map-heading h2 span {color:#6e845e;}
.map-heading-details {max-width:325px;}
.map-heading-details p {line-height:1.7;color:#53654f;margin-bottom:19px;font-size:14px;}
.map-button {display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:#1b301f;color:#f1f8e7;padding:17px 21px;font-size:11px;letter-spacing:.055em;font-weight:900;min-height:51px;transition:transform .25s,background .25s;}
.map-button:hover {background:#355437;transform:translateY(-2px);}
.map-button span {font-size:18px;}
.map-panel {border:1px solid #bac8b5;background:#223829;padding:12px;box-shadow:0 25px 75px rgba(22,49,29,.15);}
.map-frame {height:415px;width:100%;position:relative;overflow:hidden;background:#253c2b;}
.map-frame iframe {width:100%;height:100%;border:0;display:block;}
.map-placeholder {height:100%;color:#ecf5db;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;position:relative;isolation:isolate;background:radial-gradient(ellipse at center,rgba(185,227,147,.14),transparent 50%),repeating-linear-gradient(0deg,transparent 0 48px,rgba(215,240,192,.055) 49px 50px),repeating-linear-gradient(90deg,transparent 0 48px,rgba(215,240,192,.055) 49px 50px),#213728;}
.map-coordinate {position:absolute;top:20px;left:24px;color:#b7d4a9;font-size:9px;letter-spacing:.18em;}
.map-pin {font-size:58px;line-height:1;color:#cdeaa8;}
.map-placeholder strong {font:900 36px/1 var(--display);}
.map-placeholder > span:nth-of-type(3) {font-size:13px;color:#d7e8d3;}
.load-map {margin-top:17px;display:inline-flex;gap:15px;align-items:center;justify-content:space-between;background:var(--acid);color:#182817;font-size:11px;font-weight:900;letter-spacing:.04em;padding:17px 20px;border:0;min-height:52px;cursor:pointer;}
.load-map:hover {background:#e4f2c2;}
.load-map span {font-size:20px;font-weight:400;}
.map-placeholder small {color:#b6c5b1;font-size:10px;line-height:1.4;padding-inline:18px;}
.map-panel-footer {color:#d4e8c5;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;font-weight:900;gap:14px;padding:16px 10px 3px;}
.map-panel-footer a {display:flex;align-items:center;gap:12px;border-bottom:1px solid #a8c595;padding-bottom:6px;}
.map-panel-footer a span {font-size:17px;}
.floating-whatsapp {position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:9px;z-index:110;filter:drop-shadow(0 8px 17px rgba(6,27,13,.23));}
.floating-whatsapp-link {display:flex;align-items:center;gap:12px;min-width:209px;min-height:54px;padding:9px 17px 9px 11px;border-radius:14px;background:#1d4024;color:#f4faed;border:1px solid #68955f;box-shadow:0 8px 20px rgba(0,0,0,.1);transition:transform .2s var(--ease),background .2s;}
.floating-whatsapp-link:first-child {background:#245b36;}
.floating-whatsapp-link:hover {transform:translateX(-5px);background:#2b683d;}
.floating-whatsapp-link svg {width:31px;height:31px;flex:none;color:#b9e3ac;}
.floating-whatsapp-copy {display:flex;flex-direction:column;gap:3px;}
.floating-whatsapp-copy small {font-size:8px;font-weight:900;letter-spacing:.15em;color:#d0e9cc;}
.floating-whatsapp-copy strong {font-size:14px;white-space:nowrap;letter-spacing:.01em;}
.cursor-shadow {position:fixed;top:0;left:0;width:200px;height:200px;transform:translate3d(-500px,-500px,0);border-radius:50%;background:radial-gradient(circle,rgba(147,177,111,.23),rgba(145,175,102,.09) 31%,transparent 69%);pointer-events:none;z-index:105;opacity:0;transition:opacity .25s;will-change:transform;}
@media (max-width:1030px) {
 .contact-details {grid-template-columns:1fr;gap:20px;}
 .topline-contacts {gap:10px;font-size:10px;}
 .topline-contact-label {display:none;}
}
@media (max-width:640px) {
 .topline {height:58px;}
 .topline-inner {flex-direction:column;justify-content:center;gap:3px;}
 .topline-left {font-size:8px;letter-spacing:.12em;}
 .topline-contacts {width:100%;justify-content:center;font-size:10px;gap:12px;}
 .topline-contacts a {padding:1px 0;}
 .topline-contact-label {display:none;}
 .topline-separator {display:none;}
 .hero-layout {padding-top:50px;}
 .hero-contact-links {gap:5px 13px;font-size:11px;margin-top:10px;}
 .hero-contact-links > span {flex-basis:100%;font-size:9px;}
 .hero-badges {margin-top:23px;}
 .craft-visual {padding-bottom:60px;}
 .craft-overlap {min-height:142px;}
 .contact-details {grid-template-columns:1fr;}
 .map-section {padding:78px 0 105px;}
 .map-heading {display:block;margin-bottom:29px;}
 .map-heading h2 {font-size:clamp(45px,10vw,66px);}
 .map-heading-details {margin-top:23px;}
 .map-heading-details p {font-size:13px;}
 .map-frame {height:335px;}
 .map-panel {padding:7px;}
 .map-placeholder strong {font-size:27px;}
 .map-panel-footer {font-size:8px;letter-spacing:.08em;}
 .map-coordinate {top:12px;left:12px;}
 .map-placeholder small {max-width:280px;}
 .floating-whatsapp {left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;filter:drop-shadow(0 6px 13px rgba(10,23,11,.4));}
 .floating-whatsapp-link {min-width:0;min-height:58px;padding:8px 9px;gap:7px;border-radius:11px;}
 .floating-whatsapp-link:hover {transform:translateY(-2px);}
 .floating-whatsapp-link svg {width:24px;height:24px;}
 .floating-whatsapp-copy strong {font-size:clamp(10px,3vw,13px);letter-spacing:-.015em;}
 .floating-whatsapp-copy small {font-size:7px;letter-spacing:.06em;}
 .footer-bottom {padding-bottom:105px;}
 .mobile-contact {display:none;}
}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) {.cursor-shadow {display:none!important;}}

/* Full-width photograph footer treatment + mobile natural reading order. */
.craft-address {position:absolute;bottom:70px;left:0;display:flex;flex-direction:column;gap:7px;font:900 clamp(23px,2.5vw,32px)/1 var(--display);letter-spacing:-.035em;color:#304432;}
.craft-address strong {font:900 clamp(58px,5.4vw,76px)/.88 var(--display);letter-spacing:-.08em;color:#66805a;}
.craft-address span {font:800 10px/1.5 var(--body);letter-spacing:.14em;color:#657b60;}
@media (max-width:640px) {
  .hero-contact-links {order:7;margin-top:15px;}
  .craft-address {bottom:64px;font-size:24px;}
  .craft-address strong {font-size:54px;}
  .craft-address span {font-size:8px;}
  .craft-photolabel {font-size:7px;}
}
