:root{--bg:#f7f2eb;--bg2:#efe7dc;--text:#1f1c18;--muted:#6f655a;--line:rgba(31,28,24,.12);--accent:#a68458;--dark:#1f1c18;--white:#fff;--max:1240px;--shadow:0 18px 50px rgba(31,28,24,.08);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(166,132,88,.12),transparent 28%),linear-gradient(180deg,#fbf8f4 0%,var(--bg) 100%);line-height:1.55}a{text-decoration:none;color:inherit}h1,h2,h3,.brand{font-family:"Times New Roman",Georgia,serif;font-weight:500;letter-spacing:.02em}.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;border-bottom:1px solid transparent;transition:.28s ease}.site-header.scrolled{background:rgba(251,248,244,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(31,28,24,.06)}.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:22px 0;transition:.28s}.site-header.scrolled .nav{padding:14px 0}.brand{display:flex;align-items:center;justify-content:center}.logo-wrap{position:relative;display:block;height:58px;width:210px}.logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:.25s}.logo-dark{opacity:0}.site-header.scrolled .logo-light{opacity:0}.site-header.scrolled .logo-dark{opacity:1}.menu{display:flex;gap:28px;align-items:center}.menu a{font-size:.95rem;color:#fff;text-transform:none;letter-spacing:0;opacity:.9;font-weight:400}.site-header.scrolled .menu a{color:var(--text)}.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:12px}.socials{display:flex;gap:9px;align-items:center}.icon-link{width:34px;height:34px;border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;opacity:.88;transition:.2s ease;background:transparent}.icon-link:hover{opacity:1;transform:translateY(-1px)}.icon-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.icon-link[aria-label="Facebook"] svg,.icon-link[aria-label="Pinterest"] svg{fill:currentColor;stroke:none;width:15px;height:15px}.icon-link[aria-label="LinkedIn"] svg{width:16px;height:16px}.lang-toggle{border:0;background:transparent;padding:0;margin-left:8px;color:#fff;font-size:.86rem;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;gap:7px;align-items:center;justify-content:center;cursor:pointer;line-height:1;appearance:none}.lang-toggle .active{font-weight:700}.lang-separator{opacity:.55;font-weight:400}.lang-toggle:hover{opacity:.72}.site-header.scrolled .icon-link,.site-header.scrolled .lang-toggle{color:var(--text)}.mobile-menu-toggle{display:none}.hero{position:relative;min-height:88vh;display:flex;align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.40)),url('assets/hero/hero-preview.jpg') center/cover no-repeat;color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.47),rgba(0,0,0,.16) 55%,rgba(0,0,0,.10))}.hero-inner{position:relative;z-index:1;width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:150px 0 82px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;opacity:.9;margin-bottom:18px}.hero h1{font-size:clamp(3.2rem,6vw,6.3rem);line-height:.95;margin:0 0 18px;max-width:10ch}.hero p{max-width:62ch;margin:0 0 30px;font-size:1.08rem;color:rgba(255,255,255,.92)}.cta-row{display:flex;flex-wrap:wrap;gap:14px}.btn{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.22);transition:.2s ease;font-size:.96rem}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#fff;color:var(--text);border-color:#fff}.btn.secondary{background:rgba(255,255,255,.08);color:#fff}.btn.dark{background:var(--text);color:#fff;border-color:var(--text)}section{padding:72px 0}.numbers{padding:0;transform:translateY(-38px);position:relative;z-index:3}.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:28px;overflow:hidden;backdrop-filter:blur(16px)}.numbers-grid div{padding:26px;text-align:center;background:rgba(255,255,255,.36)}.numbers-grid strong{display:block;font-family:"Times New Roman",Georgia,serif;font-size:2.2rem;font-weight:500}.numbers-grid span{color:var(--muted);font-size:.9rem}.intro-section{padding-top:40px}.intro-grid{display:grid;grid-template-columns:260px 1fr;gap:60px}.intro-grid h2{font-size:clamp(2rem,3.2vw,3.8rem);line-height:1;margin:0 0 24px}.intro-grid p{max-width:75ch;color:var(--muted);font-size:1.03rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-head h2{margin:0;font-size:clamp(2rem,3vw,3.3rem);line-height:1}.section-head p{margin:0;max-width:60ch;color:var(--muted)}.card{background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.55);border-radius:var(--radius);box-shadow:var(--shadow)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px;display:flex;flex-direction:column;min-height:325px}.service-card .num{display:none}.service-card h3{margin:0 0 14px;font-size:1.38rem;font-weight:700}.service-card p{margin:0 0 22px;color:var(--muted)}.service-card a{color:var(--accent);font-size:.86rem;text-transform:uppercase;letter-spacing:.16em;margin-top:auto;display:inline-flex;align-self:flex-start}.projects-section{background:linear-gradient(180deg,transparent,rgba(239,231,220,.66))}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{min-height:430px;position:relative;overflow:hidden;border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.55);background-size:cover;background-position:center;display:block;transition:.24s ease;cursor:pointer}.project:hover{transform:translateY(-3px);box-shadow:0 20px 52px rgba(31,28,24,.14)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.58))}.project .meta{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;color:#fff}.project strong{display:block;font-size:1.28rem;margin-bottom:6px;font-family:"Times New Roman",Georgia,serif;font-weight:500}.project span{font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;opacity:.82}.project p{margin:12px 0 0;color:rgba(255,255,255,.86)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-step{padding:28px;border-radius:26px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.55)}.process-step span{color:var(--accent);font-size:.82rem;letter-spacing:.16em}.process-step h3{margin:18px 0 10px;font-size:1.25rem}.process-step p{margin:0;color:var(--muted)}.contacts-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}.contact-section h2{font-size:clamp(2rem,3vw,3.5rem);line-height:1;margin:0 0 18px}.contact-section p{color:var(--muted);max-width:60ch}.contact-card{margin-top:24px;padding:24px;display:flex;flex-direction:column;gap:8px}.quote-form{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full,.privacy,.quote-form .full{grid-column:1/-1}label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}input,select,textarea{width:100%;border:1px solid rgba(31,28,24,.13);border-radius:16px;background:rgba(255,255,255,.66);padding:14px 14px;font:inherit;color:var(--text)}textarea{resize:vertical}.privacy{font-size:.86rem;text-transform:none;letter-spacing:0;display:flex;gap:10px;align-items:flex-start}.privacy input{width:auto;margin-top:4px}footer{background:#171411;color:#fff;padding:58px 0}.footer-inner{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:28px}.footer-brand img{height:64px;width:auto;max-width:220px;object-fit:contain}.footer-brand p{color:rgba(255,255,255,.68);max-width:36ch}.footer-inner div{display:flex;flex-direction:column;gap:10px}.footer-inner strong{font-family:"Times New Roman",Georgia,serif;font-weight:500;font-size:1.1rem}.footer-inner a,.footer-inner small{color:rgba(255,255,255,.68)}.lightbox{position:fixed;inset:0;background:rgba(14,12,10,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1120px,calc(100vw - 120px));width:100%}.lightbox img{width:100%;max-height:76vh;object-fit:contain;border-radius:22px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.lightbox figcaption{color:#fff;margin-top:16px;display:flex;justify-content:space-between;gap:20px}.lightbox figcaption span{color:rgba(255,255,255,.68);max-width:58ch}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;cursor:pointer}.lightbox-close{top:24px;right:24px;width:46px;height:46px;font-size:2rem}.lightbox-nav{top:50%;width:50px;height:50px;font-size:2.2rem}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}@media(max-width:1100px){.nav{grid-template-columns:auto 1fr auto}.mobile-menu-toggle{display:inline-flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff}.mobile-menu-toggle span{width:18px;height:2px;background:currentColor}.site-header.scrolled .mobile-menu-toggle{color:var(--text);border-color:rgba(31,28,24,.16)}.menu{position:fixed;left:16px;right:16px;top:86px;padding:22px;border-radius:24px;background:rgba(31,28,24,.94);display:none;flex-direction:column;align-items:flex-start}.menu.open{display:flex}.menu a,.site-header.scrolled .menu a{color:#fff}.services-grid,.projects-grid,.process-grid,.contacts-wrap,.footer-inner,.intro-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}@media(max-width:760px){.wrap,.hero-inner{width:min(var(--max),calc(100% - 24px))}.nav{gap:8px}.logo-wrap{height:48px;width:170px}.socials{gap:6px}.icon-link{width:30px;height:30px}.icon-link svg{width:14px;height:14px}.lang-toggle{font-size:.76rem;gap:5px;margin-left:4px}.hero{min-height:82vh}.hero h1{max-width:12ch}.section-head{flex-direction:column;align-items:flex-start}.numbers{transform:none;padding:18px 0 0}.numbers-grid,.services-grid,.projects-grid,.process-grid,.contacts-wrap,.footer-inner,.intro-grid,.quote-form{grid-template-columns:1fr}.footer-brand{grid-column:auto}.project{min-height:360px}.lightbox{padding:18px}.lightbox figure{max-width:100%}.lightbox-nav{display:none}.lightbox figcaption{display:block}.intro-section{padding-top:64px}}.brand-section{padding-top:82px;background:linear-gradient(180deg,rgba(239,231,220,.32),rgba(31,28,24,.04))}.brand-head{align-items:start}.brand-head>div{max-width:650px}.brand-toolbar{padding:24px;display:grid;grid-template-columns:1fr 1.15fr;gap:12px 22px;align-items:center;margin-bottom:18px}.brand-toolbar label{font-family:"Times New Roman",Georgia,serif;text-transform:none;letter-spacing:.02em;color:var(--text);font-size:1.26rem}.brand-toolbar input{border-radius:999px}.brand-toolbar span{grid-column:1/-1;color:var(--muted);font-size:.95rem}.brand-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brand-category{border-radius:22px;background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.62);box-shadow:0 10px 30px rgba(31,28,24,.045);overflow:hidden}.brand-category summary{cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;list-style:none}.brand-category summary::-webkit-details-marker{display:none}.brand-category summary span{font-family:"Times New Roman",Georgia,serif;font-size:1.14rem;line-height:1.15}.brand-category summary small{font-size:.76rem;color:var(--accent);border:1px solid rgba(166,132,88,.28);border-radius:999px;min-width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center}.brand-pills{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 20px}.brand-pills span{font-size:.85rem;color:var(--muted);border:1px solid rgba(31,28,24,.12);background:rgba(255,255,255,.48);border-radius:999px;padding:7px 10px}.brand-sourcing{margin-top:18px;padding:28px;display:grid;grid-template-columns:.45fr 1fr auto;gap:20px;align-items:center}.brand-sourcing h3{margin:0;font-size:1.45rem;font-weight:700}.brand-sourcing p{margin:0;color:var(--muted)}.brand-sourcing a{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;white-space:nowrap}.brand-no-results{display:none;color:var(--muted);padding:24px;text-align:center}.legal-page{padding:170px 0 80px;min-height:80vh}.legal-card{padding:42px;max-width:980px;margin:0 auto}.legal-card h1{font-size:clamp(2.5rem,5vw,5rem);line-height:.96;margin:0 0 28px}.legal-card p{color:var(--muted);font-size:1.04rem;max-width:82ch}@media(max-width:1100px){.brand-list,.brand-toolbar,.brand-sourcing{grid-template-columns:1fr}.brand-sourcing a{white-space:normal}}@media(max-width:760px){.brand-section{padding-top:64px}.brand-toolbar{padding:20px}.brand-category summary{padding:16px}.brand-pills{padding:0 16px 16px}.brand-sourcing{padding:22px}.legal-page{padding:130px 0 58px}.legal-card{padding:28px}}

/* V6 brand references: homepage text only + separate brand list page */
.brand-copy-section{padding:86px 0 70px;background:linear-gradient(180deg,rgba(239,231,220,.26),rgba(31,28,24,.035))}
.brand-copy-inner{max-width:980px;margin:0 auto}
.brand-dual-title{margin:0 0 26px;font-size:clamp(2rem,3vw,3.35rem);line-height:1.05;display:flex;flex-wrap:wrap;gap:.28em;align-items:baseline}
.brand-dual-title .title-separator{color:var(--accent);font-size:.72em;font-weight:400;opacity:.75}
.brand-copy-text{max-width:76ch;color:var(--muted);font-size:1.03rem}
.brand-copy-text p{margin:0 0 14px}
.brand-copy-text p:last-child{color:var(--text)}
.brand-list-cta-row{display:flex;justify-content:flex-end;margin-top:24px}
.brand-list-link{min-width:128px;height:42px;padding:0 20px;border:1px solid currentColor;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;transition:.2s ease;background:transparent}
.brand-list-link:hover{transform:translateY(-1px);color:var(--accent)}
.brand-list-page{background:linear-gradient(180deg,#fbf8f4 0%,var(--bg) 100%)}
.brand-directory-hero{padding:165px 0 54px;background:linear-gradient(180deg,rgba(239,231,220,.55),rgba(239,231,220,.08))}
.brand-directory-hero h1{max-width:1100px;margin-bottom:24px}
.brand-directory-hero p:not(.section-kicker){max-width:76ch;color:var(--muted);font-size:1.04rem}
.brand-directory-section{padding:28px 0 82px}
.brand-directory{display:grid;grid-template-columns:1fr 1fr;gap:24px 42px}
.brand-directory-category{border-top:1px solid var(--line);padding-top:22px}
.brand-directory-category h2{font-size:1.38rem;font-weight:700;margin:0 0 10px;line-height:1.12}
.brand-directory-category p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.8}
@media(max-width:900px){.brand-directory{grid-template-columns:1fr}.brand-directory-hero{padding-top:135px}.brand-dual-title{gap:.22em}}
@media(max-width:760px){.brand-copy-section{padding:64px 0}.brand-list-cta-row{justify-content:flex-start}.brand-list-link{height:40px}.brand-directory-section{padding-bottom:62px}}
.file-field small{color:var(--muted);font-size:.82rem;line-height:1.45;margin-top:2px}.file-field input[type="file"]{padding:12px;background:rgba(255,255,255,.78);cursor:pointer}.file-field input[type="file"]::file-selector-button{border:1px solid rgba(31,28,24,.16);background:transparent;border-radius:999px;padding:9px 14px;margin-right:12px;color:var(--text);font:inherit;font-size:.86rem;cursor:pointer}.file-field input[type="file"]::file-selector-button:hover{color:var(--accent)}

/* V10 studio section */
.studio-section{padding-top:46px;position:relative;overflow:hidden}.studio-layout{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(360px,0.82fr);gap:58px;align-items:center}.studio-copy{text-align:left}.studio-kicker{opacity:.82;margin-bottom:22px}.studio-copy h2{font-size:clamp(2.15rem,3.3vw,3.9rem);line-height:1.02;margin:0 0 26px;max-width:760px;text-align:left}.studio-text{max-width:74ch;text-align:left}.studio-text p{color:var(--muted);font-size:1.04rem;margin:0 0 16px}.studio-sketch{margin:0;min-height:420px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.studio-sketch:before{content:none}.studio-sketch img{width:min(100%,620px);height:auto;display:block;mix-blend-mode:multiply;opacity:.78;filter:contrast(.94) saturate(.72)}
@media(max-width:900px){.studio-layout{grid-template-columns:1fr;gap:26px}.studio-sketch{min-height:270px}.studio-sketch img{width:min(100%,520px);opacity:.7}.studio-copy h2{max-width:100%}}

/* V14 - Brand references centered */
.brand-preview,
.brands-preview,
.brand-references,
.premium-brand-section {
  text-align: center !important;
}

.brand-preview .section-head,
.brands-preview .section-head,
.brand-references .section-head,
.premium-brand-section .section-head {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: center !important;
}

.brand-preview .section-head h2,
.brands-preview .section-head h2,
.brand-references .section-head h2,
.premium-brand-section .section-head h2 {
  text-align: center !important;
}

.brand-preview .section-head p,
.brands-preview .section-head p,
.brand-references .section-head p,
.premium-brand-section .section-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: inherit !important;
}

.brand-preview .brand-link-row,
.brands-preview .brand-link-row,
.brand-references .brand-link-row,
.premium-brand-section .brand-link-row {
  justify-content: center !important;
  text-align: center !important;
}


/* V15 - Legal pages */
.legal-page {
  background: var(--bg);
  color: var(--ink);
}
.legal-hero {
  padding: 150px 0 58px;
  background: linear-gradient(180deg, rgba(28,24,21,.07), rgba(28,24,21,0));
}
.legal-hero .section-kicker {
  margin-bottom: 18px;
}
.legal-hero h1 {
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.04em;
}
.legal-content {
  padding: 30px 0 90px;
}
.legal-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(26px, 4vw, 54px);
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(33,28,23,.10);
  border-radius: 30px;
}
.legal-card h2 {
  margin: 34px 0 12px;
  font-size: clamp(1.35rem, 2vw, 2rem);
  letter-spacing: -.02em;
}
.legal-card h2:first-child {
  margin-top: 0;
}
.legal-card h3 {
  margin: 24px 0 8px;
  font-size: 1.05rem;
}
.legal-card p,
.legal-card li {
  color: var(--muted);
  line-height: 1.75;
  font-size: 1rem;
}
.legal-card ul {
  margin: 10px 0 18px;
  padding-left: 22px;
}
.legal-card .legal-note {
  margin-top: 30px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(33,28,23,.055);
  color: var(--ink);
}
.legal-card .legal-note p {
  color: var(--ink);
  margin: 0;
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 24px;
  font-size: .96rem;
}
.legal-table th,
.legal-table td {
  text-align: left;
  padding: 13px 12px;
  border-bottom: 1px solid rgba(33,28,23,.10);
  vertical-align: top;
}
.legal-table th {
  color: var(--ink);
  font-weight: 700;
}
.legal-table td {
  color: var(--muted);
}
body.legal-page .site-header,
.site-header.dark-header {
  background: rgba(245,241,234,.96);
  border-bottom: 1px solid rgba(33,28,23,.10);
}
body.legal-page .site-header .logo-light,
.site-header.dark-header .logo-light {
  display: none;
}
body.legal-page .site-header .logo-dark,
.site-header.dark-header .logo-dark {
  display: block;
}
body.legal-page .site-header a,
body.legal-page .site-header .lang-switch,
.site-header.dark-header a,
.site-header.dark-header .lang-switch {
  color: var(--ink);
}
body.legal-page .site-header .icon-link,
.site-header.dark-header .icon-link {
  border-color: rgba(33,28,23,.38);
}
@media(max-width: 720px){
  .legal-hero{padding-top:120px}
  .legal-card{border-radius:24px}
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td{display:block;width:100%}
  .legal-table th{padding-bottom:4px}
  .legal-table td{padding-top:0}
}


/* V16 - Fixed legal page header */
.site-header.dark-header {
  background: rgba(245,241,234,.96) !important;
  border-bottom: 1px solid rgba(33,28,23,.10) !important;
  box-shadow: 0 18px 45px rgba(20,16,13,.06) !important;
}

.site-header.dark-header .logo-light {
  display: none !important;
}

.site-header.dark-header .logo-dark {
  display: block !important;
}

.site-header.dark-header .menu a,
.site-header.dark-header .lang-switch,
.site-header.dark-header .lang-switch button {
  color: var(--ink) !important;
}

.site-header.dark-header .icon-link {
  border-color: rgba(33,28,23,.38) !important;
  color: var(--ink) !important;
}

.site-header.dark-header .icon-link svg {
  stroke: currentColor !important;
}

.site-header.dark-header .burger span {
  background: var(--ink) !important;
}


/* V17 - Bilingual legal pages */
.lang-content[hidden] {
  display: none !important;
}
.lang-switch button.is-active {
  font-weight: 700;
}


/* V25 - Quote form refinement */
.quote-form .form-row{display:grid;gap:16px}
.quote-form .form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form .label-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.quote-form .label-line>label:first-child{margin-bottom:0}
.whatsapp-check{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;font-size:.72rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap}
.whatsapp-check input{width:14px!important;height:14px!important;min-height:14px!important;accent-color:var(--ink)}
.quote-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px}
@media(max-width:760px){.quote-form .form-row.two{grid-template-columns:1fr}.quote-form .label-line{align-items:flex-start;gap:8px}.whatsapp-check{font-size:.68rem!important}}

/* V27 - Quote form sketch layout */
.quote-form{max-width:760px;margin:0 auto;padding:28px;display:flex;flex-direction:column;gap:16px;border-radius:30px}
.quote-form .form-row{display:grid;gap:16px;width:100%}
.quote-form .form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form .field{display:flex;flex-direction:column;gap:8px}
.quote-form .field.full,.quote-form .privacy,.quote-form .quote-submit{width:100%}
.quote-form label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid rgba(31,28,24,.14);border-radius:14px;background:rgba(255,255,255,.76);padding:12px 14px;font:inherit;color:var(--text)}
.quote-form textarea{min-height:150px;resize:vertical}
.quote-form .file-field{gap:10px}
.quote-form .file-upload-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.quote-form .file-trigger{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(31,28,24,.16);border-radius:999px;background:rgba(255,255,255,.76);color:var(--text);text-transform:none;letter-spacing:0;font-size:.94rem;cursor:pointer}
.quote-form .file-selected{font-size:.92rem;color:var(--muted)}
.quote-form .sr-only-file{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.quote-form small{display:block;font-size:.84rem;line-height:1.55;color:var(--muted)}
.quote-form .privacy{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--text)}
.quote-form .privacy input{width:16px;height:16px;min-height:16px;margin-top:3px;accent-color:var(--ink)}
.quote-form .privacy span{color:var(--text)}
.quote-form .quote-submit{min-height:52px;border-radius:999px;padding:14px 24px}
@media(max-width:760px){.quote-form{padding:22px}.quote-form .form-row.two{grid-template-columns:1fr}.quote-form .file-upload-inline{align-items:flex-start;flex-direction:column}}


/* V28 - Strong dropdown arrows */
.quote-form select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: rgba(255,255,255,.76) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(31,28,24,.72) 50%),
    linear-gradient(135deg, rgba(31,28,24,.72) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  padding-right: 48px !important;
}

.quote-form select::-ms-expand {
  display: none;
}


/* V39 - Definitive cleaned services layout */
#services.section.services {
  border-top: 0 !important;
}

#services .services-wrap {
  border-top: 1px solid rgba(31,28,24,.10) !important;
  padding-top: clamp(54px, 7vw, 86px) !important;
}

#services .services-main-head {
  width: 100% !important;
  margin: 0 0 clamp(42px, 5vw, 62px) 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#services .services-main-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-family: "Times New Roman", Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(2rem, 3vw, 3.3rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

#services .services-group {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#services .services-group + .services-group {
  margin-top: clamp(58px, 7vw, 88px) !important;
}

#services .professional-services {
  border-top: 1px solid rgba(31,28,24,.10) !important;
  padding-top: clamp(54px, 7vw, 86px) !important;
}

#services .services-intro-row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;
}

#services .services-intro-row .section-kicker {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
  letter-spacing: .35em !important;
  color: var(--muted) !important;
}

#services .services-intro-row p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: var(--muted) !important;
  line-height: 1.75 !important;
  font-size: 1rem !important;
}

#services .services-grid {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  #services .services-intro-row .section-kicker {
    white-space: normal !important;
    letter-spacing: .22em !important;
  }
}


/* V40 - Final full-site cleanup */
#services .services-main-head h2 {
  font-size: clamp(2rem, 3vw, 3.3rem) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}


/* V41 - Uniform spacing between main homepage sections */
:root {
  --section-space-y: clamp(72px, 8vw, 112px);
  --section-space-y-compact: clamp(54px, 6vw, 86px);
}

body:not(.legal-page) main > section.section {
  padding-top: var(--section-space-y) !important;
  padding-bottom: var(--section-space-y) !important;
}

body:not(.legal-page) main > section.section:first-of-type {
  padding-top: var(--section-space-y) !important;
}

/* Keep internal section dividers consistent without adding extra visual weight */
#services .services-wrap {
  padding-top: var(--section-space-y-compact) !important;
}

#services .professional-services {
  padding-top: var(--section-space-y-compact) !important;
}

body:not(.legal-page) .section-head {
  margin-bottom: clamp(28px, 4vw, 46px) !important;
}

body:not(.legal-page) .services-main-head {
  margin-bottom: clamp(28px, 4vw, 46px) !important;
}

body:not(.legal-page) .services-group + .services-group {
  margin-top: var(--section-space-y-compact) !important;
}

body:not(.legal-page) footer {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  :root {
    --section-space-y: 64px;
    --section-space-y-compact: 48px;
  }
}


/* V43 - Lightbox image counter */
.lightbox-counter {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 4;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(20,16,13,.52);
  color: #fff;
  font-size: .82rem;
  letter-spacing: .08em;
}

/* V46 - Lightbox image counter */
.lightbox-counter{position:absolute;left:18px;bottom:18px;z-index:4;padding:7px 12px;border-radius:999px;background:rgba(20,16,13,.52);color:#fff;font-size:.82rem;letter-spacing:.08em}


/* V47 - Mobile header social menu and gallery controls */
.social-menu-toggle {
  display: none;
}

@media (max-width: 760px) {
  .nav-right {
    position: relative;
    gap: 8px;
  }

  .social-menu-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .social-menu-toggle svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .site-header.scrolled .social-menu-toggle,
  .site-header.dark-header .social-menu-toggle,
  body.legal-page .site-header .social-menu-toggle {
    color: var(--text);
    border-color: rgba(31,28,24,.28);
  }

  .nav-right .socials {
    display: none !important;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border-radius: 999px;
    background: rgba(31,28,24,.94);
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
    z-index: 120;
  }

  .nav-right .socials.open {
    display: flex !important;
  }

  .nav-right .socials .icon-link {
    color: #fff;
    width: 34px;
    height: 34px;
    background: transparent;
  }

  .site-header.scrolled .nav-right .socials,
  .site-header.dark-header .nav-right .socials,
  body.legal-page .site-header .nav-right .socials {
    background: rgba(251,248,244,.96);
    border: 1px solid rgba(31,28,24,.10);
  }

  .site-header.scrolled .nav-right .socials .icon-link,
  .site-header.dark-header .nav-right .socials .icon-link,
  body.legal-page .site-header .nav-right .socials .icon-link {
    color: var(--text);
  }

  .lang-toggle {
    font-size: .78rem;
    gap: 5px;
    margin-left: 0;
  }

  .lightbox {
    padding: 18px 12px;
    touch-action: pan-y;
  }

  .lightbox figure {
    max-width: 100% !important;
    width: 100%;
    position: relative;
  }

  .lightbox img {
    max-height: 68vh;
    border-radius: 18px;
  }

  .lightbox-nav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    top: 46%;
    width: 42px;
    height: 42px;
    font-size: 2rem;
    background: rgba(20,16,13,.42);
    border-color: rgba(255,255,255,.34);
    z-index: 5;
  }

  .lightbox-nav.prev {
    left: 10px;
  }

  .lightbox-nav.next {
    right: 10px;
  }

  .lightbox-close {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    font-size: 1.7rem;
    z-index: 6;
  }

  .lightbox-counter {
    left: 14px !important;
    bottom: 86px !important;
    z-index: 6;
  }

  .lightbox figcaption {
    display: block !important;
    margin-top: 12px;
    padding: 0 4px;
  }

  .lightbox figcaption span {
    display: block;
    margin-top: 6px;
    max-width: 100%;
  }
}



/* V49 - Process cards guaranteed visible */
.process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.process-step {
  display: block !important;
  min-height: 220px;
  padding: 26px;
  border: 1px solid rgba(31,28,24,.10);
  border-radius: 24px;
  background: rgba(255,255,255,.42);
}

.process-step span {
  display: block;
  margin-bottom: 28px;
  color: var(--muted);
  letter-spacing: .18em;
  font-size: .78rem;
}

.process-step h3 {
  margin: 0 0 12px;
}

.process-step p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

@media (max-width: 980px) {
  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .process-grid {
    grid-template-columns: 1fr;
  }
}

/* V50 - Hidden anti-spam field */
.form-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
