/* Vitora Facades — website study v2026.10.21 V1 */
:root{--black:#080807;--panel:#1f1d1b;--panel2:#24211e;--gold:#c7a56c;--white:#faf8f4;--muted:#b6b1ac;--line:rgba(255,255,255,.13);--body:Arial,"Helvetica Neue",sans-serif;--display:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip-link{position:absolute;z-index:200;top:-70px;left:12px;padding:12px 20px;background:var(--white);color:#000}.skip-link:focus{top:12px}.container{max-width:1480px;margin:0 auto;padding-left:clamp(25px,3.6vw,75px);padding-right:clamp(25px,3.6vw,75px)}
/* Hero — matches GoDaddy's photo overlay and editorial scale */
.hero{position:relative;min-height:740px;min-height:min(920px,max(740px,100svh));display:flex;flex-direction:column;isolation:isolate;background:#222 url("assets/hero-facade.webp") center 47%/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,9,.38) 0%,rgba(7,8,8,.28) 52%,rgba(9,9,9,.11) 100%),linear-gradient(180deg,rgba(7,8,8,.07) 0%,rgba(8,7,7,.07) 38%,rgba(5,5,5,.48) 100%)}
.header{position:relative;z-index:10;min-height:91px;width:100%;display:flex;align-items:flex-start;justify-content:space-between;padding-top:17px}.brand{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;gap:0}.brand img{display:block;width:177px;height:auto}.brand span{font-size:8.5px;font-weight:500;letter-spacing:.27em;margin:0 0 0 3px;color:rgba(255,255,255,.68)}.brand--footer img{width:175px}.brand--footer span{color:#a8a29d}.nav{display:flex;gap:43px;padding-top:16px;align-items:center}.nav a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.085em;color:#efefea;font-weight:500;transition:color .2s}.nav a:hover{color:var(--gold)}.menu-toggle{display:none;align-items:center;justify-content:center;background:rgba(9,9,9,.62);border:1px solid rgba(255,255,255,.28);width:44px;height:44px;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:19px;height:1px;background:#fff;position:relative}.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;width:19px;height:1px;background:#fff}.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.hero-main{flex:1;display:flex;align-items:center;width:100%;padding-top:68px;padding-bottom:70px}.hero-content{max-width:660px}.eyebrow{margin:0 0 68px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:#fff}.hero h1{font-family:var(--display);font-size:clamp(30px,2.8vw,43px);font-weight:400;font-style:italic;letter-spacing:-.045em;line-height:1.18;margin:0 0 43px;white-space:nowrap}.hero-copy{font-size:17px;line-height:1.66;letter-spacing:-.01em;max-width:592px;font-weight:500}.hero-copy p{margin:0 0 28px}.gold-button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#0e0c08;text-decoration:none;border:1px solid var(--gold);min-width:253px;height:54px;padding:0 23px;margin-top:8px;text-transform:uppercase;font-size:12px;letter-spacing:.115em;font-weight:500;transition:background .2s,color .2s,transform .2s}.gold-button:hover{background:#e0bf83;transform:translateY(-2px)}
/* Dark editorial content sections */
.section{background:var(--black);padding:110px 0 120px;position:relative;scroll-margin-top:1px}.panel{background:var(--panel)}.section-marker{position:absolute;top:0;right:max(3.6vw,35px);font:13px var(--body);letter-spacing:.06em;text-transform:uppercase;color:#aca7a1;background:var(--panel);padding:17px 25px 15px;border-radius:16px 16px 0 0;transform:translateY(-96%)}.section-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,6vw,125px)}.section h2{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:0}.split-heading{font-size:clamp(41px,4.2vw,63px);max-width:620px}.section-text{max-width:670px;color:var(--muted);font-size:17px;line-height:1.68;letter-spacing:.005em}.section-text p{margin:0 0 25px}.section-text p:last-child{margin-bottom:0}.services-intro{padding-top:115px;padding-bottom:84px}.services-title{font:400 clamp(25px,2.5vw,36px)/1.25 var(--display);letter-spacing:-.01em}.services-strap{font-family:var(--display);font-size:28px;line-height:1.65;margin:67px 0 0;max-width:410px}.services-grid-wrap{padding:0 0 117px;background:var(--panel)}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid var(--line)}.service-card{grid-column:span 2;background:var(--panel);min-height:287px;padding:37px clamp(22px,2.7vw,42px) 40px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.service-card:nth-last-child(-n+2){grid-column:span 3}.service-card:hover{background:#292521}.service-number{font-size:11px;color:var(--gold);letter-spacing:.15em}.service-card h3{font:400 clamp(24px,2.05vw,32px)/1.17 var(--display);letter-spacing:-.015em;margin:22px 0 18px;max-width:370px}.service-card p{font:15px/1.63 var(--body);color:var(--muted);margin:0}.services-note{font-size:12px;line-height:1.6;color:#9d9790;letter-spacing:.08em;text-transform:uppercase;margin:26px 0 0}
.about{padding-top:140px;padding-bottom:165px;background:var(--panel)}.about .section-text{padding-top:0}.about .section-text p{margin-bottom:28px}.about .section-text p:last-child{margin-bottom:0}
.contact{background:var(--black);padding:135px 0 0}.contact-panel{background:var(--panel);padding:50px 0 62px}.contact .section-inner{grid-template-columns:1fr .93fr;gap:90px}.contact-eyebrow{color:var(--gold);font-size:14px;letter-spacing:.085em;font-weight:500;text-transform:uppercase;margin:0 0 25px}.contact h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1.08;font-size:clamp(45px,4.1vw,66px);max-width:600px}.contact-items{padding:0 0 0 4px;display:flex;flex-direction:column;gap:35px;justify-content:flex-start}.contact-item{padding:0 0 0 30px;border-left:2px solid var(--gold);min-height:58px;display:flex;flex-direction:column;justify-content:center}.contact-label{color:#a6a09a;font-size:11px;letter-spacing:.055em;text-transform:uppercase;margin-bottom:13px}.contact-item a{font:400 clamp(19px,1.65vw,25px)/1.2 var(--display);text-decoration:none;overflow-wrap:anywhere}.contact-item a:hover{color:var(--gold)}.footer{background:var(--panel);border-top:1px solid var(--line)}.footer-inner{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:27px}.footer-details{display:flex;gap:24px;align-items:center;flex-wrap:wrap;color:#a59f9a;font-size:11px;letter-spacing:.025em}.footer-details a{text-decoration:none}.footer-details a:hover{color:var(--gold)}.footer-details .divider{color:#5c5751}.footer-tagline{color:var(--gold);font-size:11px;letter-spacing:.105em;white-space:nowrap;text-transform:uppercase}.license-note{font-size:12px;color:#9a958e;padding:25px 0 0;line-height:1.6}
/* Other pages */
.legal-main{min-height:74vh;padding-top:120px;padding-bottom:110px;background:var(--panel)}.legal-main h1{font:400 clamp(44px,6vw,80px)/1.06 var(--display);margin:0 0 22px}.legal-copy{max-width:770px;color:var(--muted);font:16px/1.7 var(--body)}.legal-copy h2{font:400 29px/1.2 var(--display);color:var(--white);margin:45px 0 12px}.legal-copy p{margin:0 0 15px}.legal-copy a{color:#e0bd7f}.legal-flag{font-size:12px;text-transform:uppercase;color:var(--gold);letter-spacing:.14em}
@media(max-width:1050px){.section-inner{gap:55px}.hero h1{white-space:normal}.hero-content{max-width:650px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card:nth-last-child(-n+2){grid-column:auto}.service-card:last-child{grid-column:span 2}.footer-inner{flex-wrap:wrap;padding-top:32px;padding-bottom:32px}.footer-tagline{width:100%}}
@media(max-width:760px){.container{padding-left:24px;padding-right:24px}.hero{min-height:740px;min-height:100svh;background-position:51% center}.hero::before{background:linear-gradient(90deg,rgba(8,10,9,.61),rgba(8,9,9,.31)),linear-gradient(180deg,rgba(0,0,0,.32) 0%,transparent 30%,rgba(0,0,0,.45) 100%)}.header{min-height:76px;padding-top:19px;align-items:flex-start}.brand img{width:156px}.brand span{font-size:8px}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:71px;left:0;right:0;background:rgba(20,18,16,.97);border:1px solid rgba(255,255,255,.15);padding:14px 20px 18px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:16px 5px;font-size:13px;border-bottom:1px solid var(--line)}.nav a:last-child{border-bottom:0}.hero-main{padding-top:50px;padding-bottom:67px;align-items:center}.hero-content{max-width:100%}.eyebrow{font-size:10px;line-height:1.6;margin-bottom:44px;max-width:390px}.hero h1{font-size:clamp(34px,8.5vw,50px);line-height:1.12;margin-bottom:32px}.hero-copy{font-size:15.5px;line-height:1.63}.hero-copy p{margin-bottom:22px}.gold-button{height:54px;min-width:230px}.section-inner{grid-template-columns:1fr;gap:32px}.section{padding-top:85px;padding-bottom:95px}.section-marker{right:24px;padding:12px 18px;border-radius:12px 12px 0 0;font-size:11px}.services-intro{padding-top:95px;padding-bottom:42px}.services-title{font-size:27px}.services-strap{margin:40px 0 0;font-size:25px}.section-text{font-size:15.5px;line-height:1.7}.services-grid-wrap{padding-bottom:86px}.services-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto}.service-card{min-height:230px;padding:30px 28px}.service-card h3{font-size:28px}.about{padding-top:105px;padding-bottom:100px}.split-heading{font-size:clamp(43px,10vw,59px)}.contact{padding-top:95px}.contact-panel{padding:45px 0 54px}.contact .section-inner{grid-template-columns:1fr;gap:54px}.contact h2{font-size:clamp(48px,12vw,63px)}.contact-items{gap:31px}.contact-item{padding-left:22px}.footer-inner{align-items:flex-start;flex-direction:column;gap:28px;padding-top:35px;padding-bottom:37px}.footer-details{gap:10px 18px}.footer-tagline{white-space:normal}.legal-main{padding-top:95px}}
@media(max-width:390px){.hero-main{padding-top:30px}.eyebrow{margin-bottom:34px}.hero h1{font-size:34px}.hero-copy{font-size:15px}.brand img{width:149px}.gold-button{min-width:100%}.footer-details .divider{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* 2026.10.21 V2 — approved VITORA wordmark, pinned navigation, QR and legal pages */
:root{--header-height:90px}
html{scroll-padding-top:calc(var(--header-height) + 12px)}
body{overflow-x:hidden}
.site-header{position:fixed;z-index:200;inset:0 0 auto;height:var(--header-height);background:rgba(31,29,27,.97);border-bottom:1px solid rgba(255,255,255,.11);box-shadow:0 10px 24px rgba(0,0,0,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}
.site-header .brand{width:177px;flex:0 0 177px;display:flex;flex-direction:column;align-items:stretch}
.site-header .brand img{width:177px;height:auto}
.brand .brand-subtitle{align-self:flex-end;text-align:right;font-size:9px;line-height:1.15;letter-spacing:.22em;font-weight:600;margin:1px 5px 0 0;color:rgba(255,255,255,.62)}
.site-header .nav{padding:0;gap:42px}
.site-header .menu-toggle{margin-left:auto}
.hero{min-height:820px;min-height:max(810px,100svh);background-position:50% 41%}
.hero::before{background:linear-gradient(90deg,rgba(8,9,8,.33) 0%,rgba(9,9,8,.23) 46%,rgba(9,9,8,.12) 100%),linear-gradient(180deg,rgba(31,29,27,.05) 0%,rgba(24,23,22,.02) 27%,rgba(31,29,27,.24) 53%,rgba(31,29,27,.72) 79%,#1f1d1b 100%)}
.hero-main{padding-top:calc(var(--header-height) + 60px);padding-bottom:115px}
.hero-content{max-width:670px}
.services-intro{scroll-margin-top:calc(var(--header-height) + 16px)}
.about,.contact{scroll-margin-top:calc(var(--header-height) + 12px)}
.contact-right{display:flex;align-items:flex-start;gap:clamp(23px,3vw,50px);justify-content:space-between}
.contact-right .contact-items{flex:1;min-width:0}
.contact-qr{display:flex;flex-direction:column;align-items:center;gap:12px;flex:0 0 198px;padding:6px 0 0}
.contact-qr a{display:inline-flex;background:white;padding:7px;border:1px solid #c7a56c;transition:transform .2s}
.contact-qr a:hover{transform:translateY(-3px)}
.contact-qr img{width:184px;height:184px;display:block;image-rendering:auto}
.contact-qr span{color:var(--gold);font-size:10px;letter-spacing:.1em;white-space:nowrap;text-align:center}
.contact-panel{padding:67px 0 72px}
.footer .brand{min-width:175px}
.footer-tagline{letter-spacing:.1em}
/* Formal legal pages, consistent with the supplied website visual language */
.legal-main{padding-top:calc(var(--header-height) + 45px);padding-bottom:125px;min-height:84vh}
.legal-layout{max-width:1480px}
.legal-layout > :is(.back-link,.legal-flag,h1,.legal-updated,.legal-copy){max-width:875px}
.back-link{display:block;width:max-content;text-decoration:none;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 52px}
.back-link:hover{color:var(--white)}
.legal-flag{font-size:12px;letter-spacing:.12em;color:var(--gold);margin:0 0 16px}
.legal-main h1{font-size:clamp(44px,5vw,66px);margin:0 0 13px}
.legal-updated{font-size:14px;color:#aaa29c;margin:0 0 48px;padding-bottom:47px;border-bottom:1px solid var(--line)}
.legal-copy{max-width:875px}
.legal-copy > p:first-child{font-size:17px;line-height:1.67;margin-bottom:48px}
.legal-copy h2{font-size:27px;margin:44px 0 18px;padding-top:33px;border-top:1px solid rgba(255,255,255,.095)}
.legal-copy p{font-size:15px;line-height:1.75;margin:0 0 15px}
.legal-copy a{color:#e5bd7b;text-underline-offset:3px}
@media(max-width:1180px){.contact-right{flex-wrap:wrap}.contact-qr{padding-left:28px;flex:0 0 auto;align-items:flex-start}}
@media(max-width:760px){:root{--header-height:76px}.site-header .brand{width:156px;flex-basis:156px}.site-header .brand img{width:156px}.brand .brand-subtitle{font-size:8px;margin-right:4.4px}.site-header .menu-toggle{display:flex}.site-header .nav{position:absolute;top:76px;left:0;right:0;background:#1f1d1b;padding:14px 24px 17px;box-shadow:0 20px 25px rgba(0,0,0,.26)}.hero{min-height:810px;min-height:max(790px,100svh);background-position:55% 47%}.hero::before{background:linear-gradient(90deg,rgba(6,7,7,.59),rgba(6,7,7,.31)),linear-gradient(180deg,rgba(31,29,27,.08) 0%,rgba(31,29,27,.09) 26%,rgba(31,29,27,.31) 57%,rgba(31,29,27,.76) 82%,#1f1d1b 100%)}.hero-main{padding-top:calc(var(--header-height) + 48px);padding-bottom:95px}.contact-right{flex-direction:column;gap:32px}.contact-qr{padding-left:23px}.contact-qr img{width:184px;height:184px}.footer .brand{width:175px}.footer .brand img{width:175px}.legal-main{padding-top:calc(var(--header-height) + 39px);padding-bottom:90px}.back-link{margin-bottom:42px}.legal-updated{padding-bottom:36px;margin-bottom:28px}.legal-copy > p:first-child{font-size:16px;margin-bottom:35px}.legal-copy h2{font-size:24px}}
@media(max-width:390px){.site-header .brand,.site-header .brand img{width:149px}.site-header .brand{flex-basis:149px}}
[hidden]{display:none!important}

/* 2026.10.21 V3 — transparent photo-overlay header until the page scrolls.
   The original artwork is unchanged; AUSTRALIA uses a wider tracking setting.
   On non-hero legal pages the nav stays charcoal for legibility. */
.site-header{
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:background-color .32s ease,border-color .32s ease,box-shadow .32s ease;
}
.site-header.is-scrolled,
.site-header.menu-open,
body.legal-page .site-header,
body.preview-legal .site-header{
  background:#1f1d1b;
  border-bottom-color:rgba(255,255,255,.12);
  box-shadow:0 8px 25px rgba(0,0,0,.16);
}
/* 0.35em instead of V2's 0.22em; right inset matches the artwork's clear pixels. */
.brand .brand-subtitle{letter-spacing:.35em}
@media (max-width:760px){
  .site-header{background:transparent}
  .site-header.is-scrolled,.site-header.menu-open,body.legal-page .site-header,body.preview-legal .site-header{background:#1f1d1b}
}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* ==============================================================
   V4 (2026-10-21) — Aptos body; Georgia editorial titles;
   gold left-side navigation; editorial vertical service rows.
   Georgia is a browser-native serif font; no custom font embedding needed.
   ============================================================== */
:root {
  --body: "Aptos", "Segoe UI", Arial, sans-serif;
  --display: Georgia, "Times New Roman", serif;
  --gold: #cba35c;
  --panel: #211f1d;
  --panel2: #282522;
  --muted: #bdb7b1;
  --header-height: 88px;
}
body, button, input, textarea, select {font-family:var(--body)}
.site-header .header-inner {justify-content:flex-start;gap:0}
.site-header .nav {margin-left:clamp(50px,9vw,170px);gap:clamp(25px,3.7vw,65px)}
.site-header .nav a {color:var(--gold);font-family:var(--body);font-size:13px;letter-spacing:.15em;font-weight:600;text-transform:uppercase}
.site-header .nav a:hover,.site-header .nav a:focus-visible {color:#f1cf91}
.hero h1,.services-title,.services-strap,.split-heading,.service-heading,.contact h2 {
  font-family:var(--display)!important;
  text-transform:uppercase;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:.012em;
  overflow-wrap:break-word;
}
.hero h1 {font-size:clamp(30px,3.1vw,48px);line-height:1.22;white-space:normal;max-width:930px;margin-bottom:42px}
.hero-content {max-width:870px}
.hero-copy{max-width:610px;font-size:17px;line-height:1.65}
.hero .eyebrow{color:#fff;font-size:12px;letter-spacing:.115em}
.services-intro{background:#211f1d;padding:109px 0 85px}
.section-eyebrow{font-family:var(--body);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin:0 0 35px}
.services-title{font-size:clamp(26px,2.8vw,41px)!important;line-height:1.3!important;max-width:630px}
.services-strap{font-size:clamp(26px,2.7vw,37px);line-height:1.65;max-width:600px;margin:60px 0 0}
.services-grid-wrap{background:#211f1d;padding:0 0 108px}
.services-grid-wrap .container{max-width:1480px}
.service-row{display:grid;grid-template-columns:37% 63%;border-top:1px solid rgba(255,255,255,.145);padding:48px 0 54px;gap:0}
.service-row:last-child{border-bottom:1px solid rgba(255,255,255,.145)}
.service-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:2px 50px 0 0;min-height:235px}
.service-row .service-number{font-family:var(--body);font-size:28px;letter-spacing:.02em;color:#866b42}
.service-heading{font-size:clamp(29px,2.8vw,43px);line-height:1.22;margin:25px 0 0;max-width:380px}
.service-right{padding-left:12px;padding-right:10px;max-width:750px;color:var(--muted)}
.service-description{font-family:var(--body);font-size:16px;line-height:1.72;margin:0 0 34px}
.service-list-label{font-family:var(--body);color:var(--gold);font-size:11px;letter-spacing:.16em;font-weight:700;margin:0 0 15px}
.service-inclusions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:52px;row-gap:10px;margin:0;padding:0;list-style:none}
.service-inclusions li{position:relative;padding-left:13px;font-family:var(--body);font-size:13.5px;line-height:1.55;color:#c6bfb9}
.service-inclusions li::before{content:'·';position:absolute;left:0;color:var(--gold);font-weight:bold}
.about{background:#292622;padding-top:120px;padding-bottom:137px}
.about .split-heading{font-size:clamp(35px,3.65vw,58px);line-height:1.24;max-width:620px}
.about .section-text{color:#bbb5ae}
.contact{background:#191817;padding:112px 0 0}
.contact-panel{background:#1b1917;padding:62px 0 85px}
.contact h2{font-size:clamp(35px,4vw,61px);line-height:1.27}
.footer{background:#1b1917}
.legal-main{background:#211f1d}
.legal-main h1,.legal-copy h2{font-family:var(--display);text-transform:uppercase;font-weight:400;font-style:normal;letter-spacing:.005em}
.legal-main h1{font-size:clamp(43px,5.5vw,76px)}
.legal-copy h2{font-size:clamp(24px,2.5vw,34px)}
.brand .brand-subtitle{letter-spacing:.35em}
@media(max-width:1050px){
  .site-header .nav{margin-left:clamp(28px,5vw,58px);gap:26px}
  .service-row{grid-template-columns:34% 66%}
  .service-heading{font-size:clamp(27px,3vw,39px)}
}
@media(max-width:760px){
  :root{--header-height:76px}
  .site-header .header-inner{justify-content:space-between}
  .site-header .nav{margin-left:0;gap:0}
  .site-header .nav a{font-size:13px}
  .hero{background-position:56% center}
  .hero-content{max-width:100%}
  .hero h1{font-size:clamp(28px,7.2vw,40px);margin-bottom:25px;line-height:1.25}
  .hero-copy{font-size:15px}
  .hero .eyebrow{font-size:10px}
  .section-eyebrow{margin-bottom:25px}
  .services-intro{padding-top:77px;padding-bottom:53px}
  .services-title{font-size:29px!important}
  .services-strap{margin:37px 0 0;font-size:29px}
  .service-row{grid-template-columns:1fr;gap:25px;padding:37px 0 45px}
  .service-left{min-height:0;padding:0;gap:18px}
  .service-row .service-number{font-size:24px}
  .service-heading{font-size:32px;max-width:540px;margin:0}
  .service-right{padding:0}
  .service-description{font-size:15px;margin-bottom:28px}
  .service-inclusions{column-gap:22px}
  .service-inclusions li{font-size:12.8px}
  .about{padding-top:90px;padding-bottom:90px}
  .about .split-heading{font-size:clamp(31px,7.3vw,46px)}
  .contact{padding-top:75px}
  .contact h2{font-size:clamp(33px,8vw,46px)}
}
@media(max-width:430px){
  .service-inclusions{grid-template-columns:1fr;gap:9px}
  .hero h1{font-size:30px}
  .services-title{font-size:26px!important}
  .service-heading{font-size:29px}
}

/* Treat contact details as standard text, not editorial headings. */
.contact-item a{font-family:var(--body);font-size:clamp(16px,1.65vw,22px);font-weight:400}




/* V6 — approved Georgia (type comparison option 4) + uploaded architectural photograph.
   Locally bundled photograph: /assets/hero-facade.webp (1365×2048px), no external image request. */
:root {
  --display: Georgia, "Times New Roman", serif;
  --body: "Aptos", "Segoe UI", Arial, sans-serif;
}
.hero {
  background-image: url("assets/hero-facade.webp");
  background-color: #211f1d;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 55% 48%;
}
/* A left-to-right ink wash keeps the sky behind text readable.
   The bottom progressively becomes precisely the next section colour. */
.hero::before {
  background:
    linear-gradient(90deg, rgba(15,17,17,.86) 0%, rgba(15,17,17,.65) 33%, rgba(17,18,17,.23) 71%, rgba(12,13,12,.13) 100%),
    linear-gradient(180deg, rgba(18,18,17,.30) 0%, rgba(15,15,15,.04) 27%, rgba(23,22,21,.13) 54%, rgba(31,29,27,.70) 86%, #211f1d 100%);
}
.hero h1,.services-title,.services-strap,.split-heading,.service-heading,.contact h2,
.legal-main h1,.legal-copy h2 {
  font-family: Georgia,"Times New Roman",serif !important;
  text-transform: uppercase;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .006em;
}
.hero h1 {font-size:clamp(27px,2.3vw,37px);line-height:1.27;}
.services-title {font-size:clamp(23px,2.05vw,31px)!important;line-height:1.35!important;}
.services-strap {font-size:clamp(23px,2.0vw,29px);line-height:1.70;}
.service-heading {font-size:clamp(23px,2.25vw,32px);line-height:1.31;max-width:440px;}
.about .split-heading {font-size:clamp(30px,3.0vw,44px);line-height:1.31;}
.contact h2 {font-size:clamp(32px,3.1vw,45px);line-height:1.31;}
.legal-main h1 {font-size:clamp(39px,4.35vw,60px);}
.legal-copy h2 {font-size:clamp(22px,2.25vw,28px);}
@media (max-width:1050px) {
  .service-heading {font-size:clamp(23px,2.65vw,30px);}
}
@media (max-width:760px) {
  .hero {background-position:67% 49%;}
  .hero::before {
    background:
      linear-gradient(90deg,rgba(10,12,12,.77) 0%,rgba(12,14,14,.58) 64%,rgba(12,14,14,.31) 100%),
      linear-gradient(180deg,rgba(14,14,14,.25) 0%,transparent 35%,rgba(31,29,27,.52) 78%,#211f1d 100%);
  }
  .hero h1 {font-size:clamp(25px,6.4vw,34px);}
  .services-title {font-size:26px!important;}
  .services-strap {font-size:25px;}
  .service-heading {font-size:26px;}
  .about .split-heading {font-size:clamp(27px,6.6vw,38px);}
  .contact h2 {font-size:clamp(28px,7.1vw,39px);}
}
@media (max-width:430px) {
  .hero h1 {font-size:26px;}
  .services-title {font-size:24px!important;}
  .services-strap {font-size:23px;}
  .service-heading {font-size:25px;}
}


/* ===============================================================
   V7 — final visual refinements, 21 Oct 2026
   1. Desktop navigation on the right; same gold as CTA button.
   2. Approx. 15% photo zoom-out, backed by the same photo at cover
      and softly feathered to avoid visible side letterboxing.
   3. Tighter, GoDaddy-like Georgia headline proportions.
   =============================================================== */
:root { --gold: #cba35c; }
.site-header .header-inner { justify-content: space-between; }
.site-header .nav { margin-left: auto; gap: clamp(26px,3.2vw,52px); }
.site-header .nav a { color: var(--gold); }
.site-header .nav a:hover, .site-header .nav a:focus-visible { color: #edcb8d; }
/* V8: Exactly one hero photograph. Avoid the duplicate feathered picture layer. */
.hero::after {content:none;display:none;}
.hero {background-position: center 48%;}
/* The readability and charcoal transition are applied with one overlay. */
/* Editorial heading sizing tuned against reference GoDaddy screenshot. */
.hero h1 { font-size: clamp(25px,2.0vw,31px); line-height: 1.27; }
.services-title { font-size: clamp(23px,1.78vw,27px)!important; }
.services-strap { font-size: clamp(21px,1.72vw,25px); }
.service-heading { font-size: clamp(22px,1.9vw,28px); }
.about .split-heading { font-size: clamp(29px,2.6vw,37px); }
.contact h2 { font-size: clamp(30px,2.8vw,40px); }
@media (max-width: 1050px) {
  .site-header .nav { margin-left:auto; gap:26px; }
  .service-heading { font-size: clamp(22px,2.4vw,27px); }
}
@media (max-width: 760px) {
  .site-header .header-inner { justify-content:space-between; }
  .site-header .nav { margin-left:0; gap:0; }
  .hero h1 { font-size: clamp(24px,5.75vw,30px); }
  .services-title { font-size: clamp(22px,5.6vw,25px)!important; }
  .services-strap { font-size:23px; }
  .service-heading { font-size:24px; }
  .about .split-heading { font-size:clamp(26px,6.1vw,34px); }
  .contact h2 { font-size:clamp(28px,6.9vw,36px); }
}
@media (max-width:430px) {
  .hero h1 { font-size:24px; }
  .services-title { font-size:22px!important; }
  .services-strap { font-size:22px; }
  .service-heading { font-size:23px; }
}


/* ==============================================================
   V8 — 21 October 2026 — approved 2048x1362 landscape photograph,
   clean sharp background, 10% smaller Georgia display headings.
   ============================================================= */
.hero {
  background-image: url("assets/hero-facade.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 47%;
  background-color: #211f1d;
}
.hero::after {content:none;display:none}
/* Keep crisp glass/building details at the top, with targeted left-side
   text contrast and smooth fade into the exact Services charcoal. */
.hero::before {
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(11,13,13,.62) 0%, rgba(11,13,13,.47) 31%, rgba(11,13,13,.20) 66%, rgba(11,13,13,.09) 100%),
    linear-gradient(180deg, rgba(21,21,20,.17) 0%, rgba(21,21,20,.10) 44%, rgba(33,31,29,.36) 73%, #211f1d 100%);
}
/* Exactly 90% of V7 display-heading values; body copy is unchanged. */
.hero h1 {font-size:clamp(22.5px,1.8vw,27.9px);}
.services-title {font-size:clamp(20.7px,1.602vw,24.3px)!important;}
.services-strap {font-size:clamp(18.9px,1.548vw,22.5px);}
.service-heading {font-size:clamp(19.8px,1.71vw,25.2px);}
.about .split-heading {font-size:clamp(26.1px,2.34vw,33.3px);}
.contact h2 {font-size:clamp(27px,2.52vw,36px);}
@media (max-width:1050px) and (min-width:761px) {
  .service-heading {font-size:clamp(19.8px,2.16vw,24.3px);}
}
@media (max-width:760px) {
  .hero {background-position:56% center;}
  .hero::before {
    background:
      linear-gradient(90deg, rgba(9,12,12,.71) 0%, rgba(9,12,12,.50) 73%, rgba(9,12,12,.31) 100%),
      linear-gradient(180deg, rgba(21,21,20,.20) 0%, rgba(21,21,20,.09) 36%, rgba(33,31,29,.50) 80%, #211f1d 100%);
  }
  .hero h1 {font-size:clamp(21.6px,5.175vw,27px);}
  .services-title {font-size:clamp(19.8px,5.04vw,22.5px)!important;}
  .services-strap {font-size:20.7px;}
  .service-heading {font-size:21.6px;}
  .about .split-heading {font-size:clamp(23.4px,5.49vw,30.6px);}
  .contact h2 {font-size:clamp(25.2px,6.21vw,32.4px);}
}
@media (max-width:430px) {
  .hero h1 {font-size:21.6px;}
  .services-title {font-size:19.8px!important;}
  .services-strap {font-size:19.8px;}
  .service-heading {font-size:20.7px;}
}


/* ============================================================
   V9 · MOBILE AND TABLET QA · 21 October 2026
   Audited 320, 360, 375, 390, 430, 600, 768+ px.
   Desktop typography, approved photo and section copy unchanged.
   ============================================================ */
/* Anchor targets already carry their own scroll-margin-top.
   Remove the global padding so the fixed-header offset is not applied twice. */
html { scroll-padding-top: 0; }
/* Enable natural shrinkage within every grid and flex layout. */
.section-inner > *, .service-row > *, .contact-right > * { min-width: 0; }
/* On smaller tablets, preserve legible contact widths instead
   of squeezing details beside a fixed-size QR into a half-column. */
@media (max-width: 960px) {
  .services-intro .section-inner,
  .about .section-inner,
  .contact .section-inner { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .services-intro .section-text,.about .section-text { max-width: 750px; }
  .services-intro .services-title { max-width: 700px; }
  .services-intro .services-strap { max-width: 680px; }
  .contact-right {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: clamp(22px,5vw,58px);
    justify-content: start;
    max-width: 790px;
    width: 100%;
  }
  .contact-right .contact-items { flex: none; width: 100%; }
  .contact-right .contact-qr { flex: none; padding: 0; align-items: center; }
  .contact-item a { overflow-wrap: anywhere; }
  .about { padding-top: 95px; padding-bottom: 105px; }
  .contact { padding-top: 68px; }
  .contact-panel { padding-top: 58px; padding-bottom: 74px; }
}
/* At landscape-tablet widths, the original side-by-side contact blocks
   are still too narrow; retain the complete two-part contact/QR row. */
@media (min-width: 961px) and (max-width: 1180px) {
  .contact .section-inner { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .contact-right {
    display: grid; grid-template-columns: minmax(0,1fr) auto;
    align-items: start; gap: 32px; width: 100%; max-width: 800px;
  }
  .contact-right .contact-items { flex: none; width: 100%; }
  .contact-right .contact-qr { flex: none; padding: 0; align-items: center; }
  .contact { padding-top: 74px; }
}
@media (max-width: 760px) {
  :root { --header-height: 76px; }
  .site-header .header-inner { gap: 18px; }
  .site-header .brand { flex: 0 0 156px; width: 156px; }
  .site-header .brand img { width: 156px; }
  .site-header .menu-toggle {
    display: flex;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-left: auto;
    border-color: rgba(255,255,255,.45);
    background: rgba(20,19,17,.4);
  }
  .site-header.menu-open .menu-toggle { background: #332b23; border-color: var(--gold); }
  .site-header.menu-open .menu-toggle span { background: transparent; }
  .site-header.menu-open .menu-toggle span::before { top: 0; transform: rotate(45deg); }
  .site-header.menu-open .menu-toggle span::after { top: 0; transform: rotate(-45deg); }
  .site-header .nav {
    top: 100%; left: 0; right: 0;
    gap: 0; padding: 8px 24px 18px;
    margin-left: 0;
    background: #1f1d1b;
    border: 0; border-top: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 18px 30px rgba(0,0,0,.28);
  }
  .site-header .nav a {
    display: block;
    min-height: 48px;
    padding: 16px 8px;
    font-size: 13px;
    letter-spacing: .13em;
    line-height: 1.2;
  }
  .hero { background-position: 56% center; }
  .hero-main { padding-top: calc(var(--header-height) + 32px); padding-bottom: 74px; }
  .hero .eyebrow { margin-bottom: 38px; line-height: 1.65; }
  .hero h1 { margin-bottom: 28px; line-height: 1.3; }
  .hero-copy { font-size: 15.5px; line-height: 1.68; }
  .hero-copy p { margin-bottom: 20px; }
  .gold-button { min-height: 52px; }
  .section-inner { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .services-intro { padding-top: 68px; padding-bottom: 52px; }
  .services-strap { margin-top: 32px; line-height: 1.65; }
  .services-grid-wrap { padding-bottom: 75px; }
  .service-row { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 35px 0 40px; }
  .service-left { display: flex; flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 20px; min-height: 0; padding: 0; }
  .service-row .service-number { flex: 0 0 35px; font-size: 23px; }
  .service-heading { flex: 1 1 auto; max-width: none; margin: 0; line-height: 1.31; }
  .service-right { padding: 0; max-width: none; }
  .service-description { font-size: 15.5px; line-height: 1.7; margin-bottom: 25px; }
  .service-list-label { margin-bottom: 14px; }
  .service-inclusions { column-gap: 20px; row-gap: 11px; }
  .service-inclusions li { font-size: 13.5px; line-height: 1.57; padding-left: 14px; }
  .about { padding-top: 78px; padding-bottom: 87px; }
  .about .section-text { font-size: 15.5px; line-height: 1.76; }
  .contact { padding-top: 55px; }
  .contact .section-inner { gap: 36px; }
  .contact-panel { padding: 48px 0 62px; }
  .contact-right { display: flex; flex-direction: column; gap: 32px; width: 100%; }
  .contact-right .contact-items { width: 100%; max-width: none; }
  .contact-right .contact-qr { padding: 0 0 0 23px; align-items: flex-start; }
  .contact .contact-item { min-height: 64px; }
  .contact-item a { font-size: 17px; line-height: 1.4; }
  .footer-inner { gap: 23px; padding-top: 32px; padding-bottom: 36px; }
  .footer-details { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 11.5px; line-height: 1.6; }
  .footer-tagline { font-size: 10.5px; white-space: normal; }
  .legal-main { padding-top: calc(var(--header-height) + 40px); padding-bottom: 77px; }
  .legal-copy { font-size: 15.5px; line-height: 1.76; }
}
@media (max-width: 480px) {
  .container { padding-left: 22px; padding-right: 22px; }
  .hero-content { max-width: 100%; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .075em; }
  .hero h1 { font-size: clamp(21px,5.5vw,24px); }
  .hero-copy { font-size: 15px; }
  .gold-button { width: 100%; min-width: 0; }
  .services-title { font-size: 20px !important; }
  .services-strap { font-size: 19.8px; }
  .service-heading { font-size: 20.5px; }
  .service-inclusions { grid-template-columns: minmax(0,1fr); }
  .about .split-heading { font-size: clamp(23px,5.5vw,26px); }
  .contact h2 { font-size: clamp(24px,6vw,28px); }
  .contact-right .contact-qr { align-items: center; padding: 0; align-self: flex-start; }
  .footer-details .divider { display: none; }
}
@media (max-width: 350px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .site-header .brand,.site-header .brand img { width: 145px; }
  .site-header .brand { flex-basis: 145px; }
  .service-left { gap: 12px; }
  .service-row .service-number { flex-basis: 31px; }
  .hero .eyebrow { margin-bottom: 30px; }
  .hero h1 { font-size: 21px; }
  .hero-copy { font-size: 14.75px; }
}


/* ============================================================
   V10 · Reliable mobile header (fix for Android preview/WebView)
   Problem: the transparent fixed header was showing over the hero
   headline when scrolling, if the preview did not run the JS update.
   Use solid-on-scroll CSS; JS supplies enhancement where available.
   ============================================================ */
@media (max-width:760px) {
  /* Safe no-script fallback: opaque panel, so white hero copy never
     appears THROUGH the VITORA wordmark/hamburger while scrolling. */
  .site-header {
    background-color:#1f1d1b;
    border-bottom-color:rgba(255,255,255,.13);
    box-shadow:0 7px 20px rgba(0,0,0,.24);
    transition:none;
  }
  /* When running on a normal browser, keep the approved overlay
     appearance at the very top of the hero. */
  .site-header.is-at-top:not(.menu-open) {
    background-color:transparent;
    border-bottom-color:transparent;
    box-shadow:none;
  }
  .site-header.is-scrolled,
  .site-header.menu-open,
  body.legal-page .site-header,
  body.preview-legal .site-header {
    background-color:#1f1d1b;
    border-bottom-color:rgba(255,255,255,.13);
    box-shadow:0 7px 20px rgba(0,0,0,.24);
  }
  .site-header .header-inner {position:relative;z-index:2;}
}
/* Scroll-timeline is independent of JavaScript. Android browsers
   supporting this feature preserve transparent-at-top/solid-on-scroll
   even when the HTML file is displayed inside a restricted preview. */
@keyframes vitora-mobile-header-opacity {
  from { background-color:transparent; border-bottom-color:transparent; }
  to { background-color:#1f1d1b; border-bottom-color:rgba(255,255,255,.13); }
}
@supports (animation-timeline:scroll(root block)) {
  @media (max-width:760px) {
    body:not(.legal-page):not(.preview-legal) .site-header:not(.menu-open):not(.is-scrolled) {
      animation:vitora-mobile-header-opacity 1s linear both;
      animation-timeline:scroll(root block);
      animation-range:0px 8px;
    }
    body.preview-legal .site-header,body.legal-page .site-header,
    .site-header.menu-open,.site-header.is-scrolled {animation:none;}
  }
}


/* ==================================================================
   V12 | 22 October 2026 | Capability statement + seven service areas
   ================================================================== */
.capability{background:#26231f;padding-top:106px;padding-bottom:112px;scroll-margin-top:calc(var(--header-height) + 12px);border-top:1px solid rgba(199,165,108,.11);border-bottom:1px solid rgba(199,165,108,.10)}
.capability .split-heading{font-size:clamp(27px,2.34vw,33px);line-height:1.28;max-width:580px}
.capability .section-text{color:#c3bdb6;line-height:1.75}
.capability-button{margin-top:13px;min-width:320px;text-align:center}
.capability-status{font-family:var(--body);color:#bca783!important;font-size:10px!important;letter-spacing:.15em;line-height:1.5!important;text-transform:uppercase;margin-top:18px!important}
.service-row .service-heading{overflow-wrap:break-word;}
/* New navigation item: preserve desktop right alignment and fit at laptop sizes. */
@media(min-width:761px) and (max-width:1100px){
 .site-header .nav{gap:clamp(12px,2vw,23px);margin-left:auto}
 .site-header .nav a{font-size:clamp(10px,1vw,12px);letter-spacing:.08em}
 .site-header .brand{width:160px;flex-basis:160px}
 .site-header .brand img{width:160px}
}
@media(max-width:960px){
 .capability .section-inner{grid-template-columns:minmax(0,1fr);gap:32px}
 .capability .section-text{max-width:750px}
}
@media(max-width:760px){
 .capability{padding-top:72px;padding-bottom:75px}
 .capability .split-heading{font-size:clamp(23px,5.5vw,29px)}
 .capability .section-text{font-size:15.5px;line-height:1.72}
 .capability-button{width:100%;max-width:370px;min-width:0;white-space:normal;padding:12px 15px;height:auto;min-height:52px}
 .site-header .nav a{font-size:12.5px}
}
@media(max-width:350px){.capability .split-heading{font-size:22px}.capability-button{font-size:10px;letter-spacing:.09em}}
