:root {
  --olive-950:#252a12; --olive-900:#353b17; --olive-700:#596027; --sage:#929263;
  --gold:#a87932; --champagne:#e4c894; --sand:#cfad73; --porcelain:#f3e4c5; --paper:#fbf3e2; --blush:#e4c894;
  --ink:#2b2d17; --muted:#75684f; --line:rgba(123,91,39,.25); --on-dark:#fff3d8;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Manrope",Arial,sans-serif;
  --shadow:0 24px 70px rgba(64,49,22,.16); --shell:min(1200px,calc(100% - 48px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}body{margin:0;max-width:100%;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75;font-weight:400}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.section{padding:118px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:200;background:#fff;padding:10px 16px}.skip-link:focus{top:16px}.eyebrow{margin:0 0 20px;color:var(--olive-700);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.eyebrow::before{content:"";display:inline-block;width:32px;height:1px;margin:0 12px 3px 0;background:currentColor}.eyebrow.light{color:var(--champagne)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:.96;letter-spacing:-.035em}h1{font-size:clamp(64px,8.2vw,122px);color:#fff;margin:0 0 28px}h2{font-size:clamp(48px,6vw,82px);margin:0}h1 em,h2 em{font-weight:500;color:var(--champagne)}h3{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.05}.lead{font-size:18px;line-height:1.7;color:var(--olive-900)}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border:1px solid #8b672d;border-radius:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,247,224,.62);pointer-events:none}.button-gold{background:linear-gradient(135deg,#f0d9a6 0%,var(--champagne) 45%,var(--sand) 100%);color:var(--olive-950);box-shadow:0 10px 28px rgba(64,49,22,.2),inset 0 1px rgba(255,255,255,.5)}.button-gold:hover{background:linear-gradient(135deg,#f8e8c2 0%,#e8ce96 52%,#cba968 100%);transform:translateY(-2px);box-shadow:0 14px 34px rgba(64,49,22,.26),inset 0 1px rgba(255,255,255,.6)}.button-dark{border-color:var(--gold);background:linear-gradient(145deg,var(--olive-700),var(--olive-950));color:var(--on-dark);box-shadow:0 10px 28px rgba(37,42,18,.24)}.button-dark:hover{background:linear-gradient(145deg,#687032,var(--olive-900));transform:translateY(-2px)}.button-dark::after{border-color:rgba(228,200,148,.55)}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.light-link{color:#fff;border-color:rgba(255,255,255,.5)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;color:#f8f3e8;border-bottom:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg,rgba(18,23,13,.78) 0%,rgba(18,23,13,.4) 72%,rgba(18,23,13,.08) 100%);transition:background .35s,box-shadow .35s,backdrop-filter .35s}.site-header.scrolled{background:rgba(31,36,24,.97);backdrop-filter:blur(14px);box-shadow:0 6px 25px rgba(0,0,0,.16)}.header-inner{height:117px;display:flex;align-items:center;justify-content:space-between;transition:height .35s ease}.site-header.scrolled .header-inner{height:90px}.brand{display:flex;align-items:center}.brand-logo{width:82px;height:82px;object-fit:contain;display:block;filter:brightness(1.4) saturate(.8) drop-shadow(0 3px 10px rgba(18,22,14,.28))}.brand-logo-header{width:325px;height:101px;filter:brightness(2.35) saturate(.68) drop-shadow(0 3px 10px rgba(10,14,8,.48));transition:width .35s ease,height .35s ease}.site-header.scrolled .brand-logo-header{width:250px;height:78px}.site-nav{display:flex;align-items:center;gap:40px}.site-nav a{color:#f8f3e8;font-size:14px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;text-shadow:0 1px 7px rgba(0,0,0,.75);transition:font-size .35s ease,color .2s ease,padding .35s ease}.site-header.scrolled .site-nav a{font-size:11px}.site-nav a:not(.nav-cta):hover{color:#e5bf84}.nav-cta{border:1px solid rgba(229,191,132,.78);background:rgba(22,27,16,.28);padding:16px 23px}.site-header.scrolled .nav-cta{padding:12px 18px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:#f8f3e8;margin:6px;box-shadow:0 1px 5px rgba(0,0,0,.55)}
.hero{height:max(720px,100svh);min-height:660px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url("public/assets_01/hero_bg/web/hero_bg.webp") center center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,14,.82) 0%,rgba(18,22,14,.58) 52%,rgba(18,22,14,.18) 100%),linear-gradient(0deg,rgba(18,22,14,.28),transparent 40%)}.hero-content{position:relative;z-index:1;padding-top:72px}.hero-lead{max-width:620px;color:rgba(255,255,255,.88);font-size:18px;line-height:1.7;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:32px}.hero-note{position:absolute;z-index:2;right:4vw;bottom:48px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:10px;display:flex;gap:11px;align-items:center}.hero-note .dot{width:4px;height:4px;background:var(--gold);border-radius:50%}
.trust-strip{background:var(--olive-900);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0}.trust-grid div{display:flex;flex-direction:column;padding:0 30px;border-right:1px solid rgba(255,255,255,.15)}.trust-grid div:first-child{padding-left:0}.trust-grid div:last-child{border:0}.trust-grid strong{font-family:var(--serif);font-size:28px;color:var(--gold);font-weight:500}.trust-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.intro-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:11vw;align-items:start}.intro-copy{padding-top:26px}.intro-copy p:not(.lead){color:var(--muted);margin-bottom:28px}.intro-copy .text-link{margin-top:12px}.split-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:10vw;align-items:end;margin-bottom:58px}.split-heading>p{color:var(--muted);margin:0 0 5px}.centered{text-align:center;margin-bottom:50px}.centered .eyebrow::before{display:none}
.services{background:var(--porcelain)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:520px;gap:14px}.service-card{position:relative;overflow:hidden;color:#fff}.service-card-wide{grid-column:span 2}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.service-card:hover img{transform:scale(1.045)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,28,20,.82),transparent 60%)}.service-content{position:absolute;inset:auto 34px 28px}.service-content span{font-size:10px;letter-spacing:.16em;color:var(--gold)}.service-content h3{font-size:40px;margin:8px 0 10px}.service-content p{max-width:510px;margin:0;color:rgba(255,255,255,.75);font-size:13px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:10px}.gallery-item{position:relative;border:0;padding:0;background:none;overflow:hidden;cursor:zoom-in;color:#fff;transition:opacity .3s,transform .3s}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(20,23,16,.6))}.gallery-item span{position:absolute;z-index:1;left:20px;bottom:16px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.gallery-item.hidden{display:none}.filter-row{display:flex;justify-content:center;gap:7px;margin-bottom:30px}.filter-button{border:1px solid var(--line);background:transparent;padding:10px 18px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer}.filter-button.active,.filter-button:hover{background:var(--olive-900);border-color:var(--olive-900);color:#fff}
.films{background:var(--olive-950);color:var(--on-dark)}.films .split-heading>p{color:rgba(255,255,255,.55)}.film-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:14px;align-items:center}.film-card{height:420px;position:relative;overflow:hidden}.film-card.feature{height:540px}.film-card video{width:100%;height:100%;object-fit:cover;filter:brightness(.74)}.film-card>div{position:absolute;left:24px;bottom:20px}.film-card>div span{color:var(--gold);font-size:10px}.film-card h3{margin:5px 0 0;font-size:28px}.video-toggle{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(31,36,24,.35);color:#fff;cursor:pointer;backdrop-filter:blur(5px)}.video-toggle:hover{background:var(--gold);color:var(--olive-950)}.video-toggle span{margin-left:3px}.film-card.playing .video-toggle{opacity:0}.film-card.playing:hover .video-toggle{opacity:1}
.fullservice{background:var(--porcelain)}.fullservice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.fullservice-image{position:relative;padding:0 0 42px 42px}.fullservice-image::before{content:"";position:absolute;left:0;bottom:0;width:68%;height:72%;background:var(--sage)}.fullservice-image img{height:670px;width:100%;object-fit:cover;position:relative}.image-caption{position:absolute;bottom:8px;right:0;color:var(--olive-700);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.fullservice-content .lead{margin:32px 0 20px}.check-list{list-style:none;padding:0;margin:28px 0 36px}.check-list li{padding:13px 0 13px 30px;border-bottom:1px solid var(--line);position:relative}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--olive-700)}
.process-grid{list-style:none;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}.process-grid li{padding:0 34px;border-left:1px solid var(--line)}.process-grid li:first-child{border-left:0;padding-left:0}.process-grid li>span{font-family:var(--serif);font-size:48px;color:var(--blush)}.process-grid h3{font-size:27px;margin:17px 0 12px}.process-grid p{color:var(--muted);font-size:13px}
.about{background:var(--olive-900);color:#fff}.about-grid{display:grid;grid-template-columns:.8fr 1fr;gap:10vw;align-items:center}.about-copy .lead{color:rgba(255,255,255,.83);margin:30px 0 18px}.about-copy>p:not(.eyebrow):not(.lead){color:rgba(255,255,255,.63)}blockquote{font-family:var(--serif);font-size:25px;font-style:italic;color:var(--gold);border-left:1px solid var(--gold);margin:38px 0 0;padding-left:24px}.about-visual{position:relative;padding:42px 0 0 65px}.about-visual::before{content:"";position:absolute;inset:0 80px 60px 0;border:1px solid rgba(201,169,125,.38)}.about-visual>img{width:100%;height:650px;object-fit:cover;position:relative}.certificate-preview{position:absolute;z-index:2;bottom:-46px;left:8px;width:170px;height:220px;padding:8px;border:0;background:var(--porcelain);box-shadow:0 18px 44px rgba(12,15,9,.38);cursor:zoom-in;transform:rotate(-3deg);transition:transform .3s ease}.certificate-preview:hover{transform:rotate(0) translateY(-5px)}.certificate-preview img{width:100%;height:100%;object-fit:cover;object-position:center}.certificate-preview span{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 5px;background:rgba(31,36,24,.9);color:var(--on-dark);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.pricing{background:var(--blush)}.pricing-grid{display:grid;grid-template-columns:1fr .75fr;gap:12vw;align-items:center}.pricing .section-heading>p:last-child{max-width:520px;color:#55594f;margin:30px 0 0}.pricing-card{background:var(--paper);padding:52px;box-shadow:var(--shadow)}.pricing-card>p:first-child{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--muted)}.price{display:flex;align-items:flex-start;gap:10px;margin:15px 0}.price small{margin-top:16px;text-transform:uppercase}.price strong{font-family:var(--serif);font-size:70px;font-weight:500;line-height:1;color:var(--olive-900)}.pricing-card>p{color:var(--muted);font-size:12px}.pricing-card hr{border:0;border-top:1px solid var(--line);margin:28px 0}.pricing-card ul{list-style:none;padding:0;margin:0 0 32px}.pricing-card li{padding:7px 0 7px 21px;position:relative}.pricing-card li::before{content:"·";position:absolute;left:4px;color:var(--olive-700);font-weight:bold}
.faq-grid{display:grid;grid-template-columns:.55fr 1fr;gap:10vw}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;padding:23px 0;font-family:var(--serif);font-size:24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-family:var(--sans);font-weight:300;font-size:25px;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:760px;color:var(--muted);padding:0 45px 22px 0;margin:0}
.contact{background:var(--olive-950);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1fr;gap:9vw}.contact-copy>p:not(.eyebrow){color:rgba(255,255,255,.65);max-width:520px;margin:28px 0}.contact-direct{margin-top:48px}.contact-direct a,.contact-direct div{display:block;border-top:1px solid rgba(255,255,255,.15);padding:16px 0}.contact-direct span{display:block;color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.15em}.contact-direct strong{font-size:14px;font-weight:400}.contact-form{background:var(--porcelain);color:var(--ink);padding:46px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(48,56,38,.25);border-radius:0;background:transparent;padding:10px 0;color:var(--ink);outline:none;text-transform:none;letter-spacing:normal}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--olive-700)}.contact-form .consent{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:normal;font-size:10px;color:var(--muted)}.consent input{width:auto;margin-top:4px}.contact-form .button{width:100%;margin-top:5px}.form-note{text-align:center;color:var(--muted);font-size:9px;margin:10px 0 0}
.concept-selection{margin:-12px 0 24px;padding:10px 13px;border-left:2px solid var(--gold);background:rgba(201,169,125,.13);color:var(--olive-900);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.site-footer{background:#171a13;color:rgba(255,255,255,.7)}.footer-top{min-height:190px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.brand-logo-footer{width:118px;height:118px}.footer-top>p{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold);margin:0}.social-links{display:flex;gap:22px;text-transform:uppercase;font-size:9px;letter-spacing:.12em}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:24px 0;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.footer-bottom>span:nth-child(2){text-align:center}.footer-bottom>span:last-child{text-align:right}.footer-bottom a{margin-left:20px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.language-switch{position:relative;display:flex;align-items:center;margin-left:auto}.language-switch::after{content:"⌄";position:absolute;right:11px;top:50%;transform:translateY(-58%);color:#e5bf84;font-size:16px;pointer-events:none}.language-switch select{appearance:none;min-width:126px;border:1px solid rgba(229,191,132,.7);border-radius:0;background:rgba(24,29,18,.78);color:#fffaf0;padding:11px 32px 11px 13px;font-size:12px;font-weight:600;letter-spacing:.055em;cursor:pointer;outline:none;text-shadow:0 1px 5px rgba(0,0,0,.7);transition:padding .35s ease,font-size .35s ease,background .2s ease,border-color .2s ease}.language-switch select:hover,.language-switch select:focus{border-color:#e5bf84;background:rgba(31,36,24,.96)}.language-switch option{background:#1f2418;color:#fffaf0}.site-header.scrolled .language-switch select{padding-top:8px;padding-bottom:8px;font-size:10px}.site-nav a{text-align:center}
.header-inner{width:min(1560px,calc(100% - 48px))}
@media(min-width:901px){.header-inner{position:relative}.site-nav{position:absolute;left:50%;transform:translateX(-50%)}.language-switch{justify-self:end}}
@media(min-width:901px) and (max-width:1180px){.site-nav{gap:14px}.site-nav a{font-size:11px}.site-header.scrolled .site-nav a{font-size:9px}.nav-cta{padding:13px 10px}.site-header.scrolled .nav-cta{padding:10px}.brand-logo-header{width:267px;height:88px}.site-header.scrolled .brand-logo-header{width:205px;height:68px}.language-switch select{min-width:104px;padding-left:10px;font-size:10px}}
@media(max-width:900px){:root{--shell:min(100% - 32px,720px)}.section{padding:88px 0}.header-inner{height:108px}.site-header.scrolled .header-inner{height:82px}.brand-logo-header{width:260px;height:86px}.site-header.scrolled .brand-logo-header{width:205px;height:68px}.site-nav{position:fixed;inset:108px 0 0;background:var(--olive-950);flex-direction:column;justify-content:center;gap:32px;text-align:center;transform:translateX(100%);transition:transform .3s,inset .35s}.site-header.scrolled .site-nav{inset:82px 0 0}.site-nav.open{transform:none}.site-nav a,.site-header.scrolled .site-nav a{font-family:var(--serif);font-size:30px;text-transform:none;letter-spacing:0}.language-switch{margin-left:auto;margin-right:12px}.language-switch select{min-width:94px;padding:9px 28px 9px 9px;font-size:10px}.menu-toggle{display:block}.intro-grid,.split-heading,.fullservice-grid,.about-grid,.pricing-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.intro-grid,.fullservice-grid,.about-grid,.pricing-grid,.faq-grid,.contact-grid{gap:50px}.split-heading{gap:28px}.service-grid{grid-template-columns:1fr 1fr;grid-auto-rows:430px}.service-card-wide{grid-column:span 1}.gallery{grid-template-columns:repeat(2,1fr)}.film-grid{grid-template-columns:1fr 1fr}.film-card.feature{height:420px}.film-card:last-child{grid-column:span 2}.process-grid{grid-template-columns:1fr 1fr;gap:40px 0}.process-grid li:nth-child(3){border-left:0;padding-left:0}.about-grid{grid-template-columns:1fr 1fr;gap:45px}.about-visual{padding-left:30px}.about-visual>img{height:540px}.footer-top{flex-wrap:wrap;gap:22px;padding:38px 0}.footer-top>p{order:3;width:100%}}
@media(min-width:901px) and (max-width:1050px){.header-inner{height:108px}.site-header.scrolled .header-inner{height:82px}.brand-logo-header{width:260px;height:86px}.site-header.scrolled .brand-logo-header{width:205px;height:68px}.site-nav{position:fixed;left:0;right:0;top:108px;bottom:0;background:var(--olive-950);flex-direction:column;justify-content:center;gap:32px;text-align:center;transform:translateX(100%);transition:transform .3s,top .35s}.site-header.scrolled .site-nav{top:82px}.site-nav.open{transform:none}.site-nav a,.site-header.scrolled .site-nav a{font-family:var(--serif);font-size:30px;text-transform:none;letter-spacing:0}.language-switch{margin-left:auto;margin-right:12px}.language-switch select{min-width:94px;padding:9px 28px 9px 9px;font-size:10px}.menu-toggle{display:block}}
@media(max-width:600px){:root{--shell:calc(100% - 28px)}body{font-size:14px}.section{padding:72px 0}h1{font-size:54px}h2{font-size:45px}.header-inner{height:96px}.site-header.scrolled .header-inner{height:74px}.brand-logo-header{width:205px;height:73px}.site-header.scrolled .brand-logo-header{width:158px;height:56px}.site-nav{inset:96px 0 0}.site-header.scrolled .site-nav{inset:74px 0 0}.language-switch{margin-right:5px}.language-switch select{min-width:60px;width:60px;padding:8px 22px 8px 8px;font-size:0}.language-switch select option{font-size:13px}.language-switch select:focus{width:142px;font-size:10px}.hero{min-height:680px}.hero-content{padding-top:72px}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-note{left:15px;right:auto;bottom:22px}.trust-grid{grid-template-columns:1fr 1fr;gap:25px 0}.trust-grid div{padding:0 14px;border:0}.trust-grid div:first-child{padding-left:14px}.service-grid{grid-template-columns:1fr;grid-auto-rows:420px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-item.wide{grid-column:span 2}.filter-row{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.filter-button{white-space:nowrap}.film-grid{grid-template-columns:1fr}.film-card,.film-card.feature{height:460px}.film-card:last-child{grid-column:auto}.fullservice-image{padding:0 0 26px 26px}.fullservice-image img{height:500px}.process-grid{grid-template-columns:1fr}.process-grid li,.process-grid li:nth-child(3){border-left:1px solid var(--line);padding-left:24px}.about-grid{grid-template-columns:1fr}.about-visual{padding:30px 0 42px 25px}.about-visual>img{height:520px}.certificate-preview{width:135px;height:176px;bottom:-12px}.pricing-card,.contact-form{padding:30px 24px}.price strong{font-size:58px}.field-row{grid-template-columns:1fr;gap:0}.footer-top{display:block}.footer-top>p{margin:30px 0}.brand-logo-footer{width:104px;height:104px}.footer-bottom{grid-template-columns:1fr}.footer-bottom>span:nth-child(2),.footer-bottom>span:last-child{text-align:left}.footer-bottom a{margin:0 20px 0 0}}
@media(max-width:600px){.language-switch select,.language-switch select:focus{min-width:64px;width:64px;padding:8px 22px 8px 8px;font-size:10px;text-overflow:clip}}
.language-switch{width:64px;justify-content:flex-end}.language-switch::after{content:none}.language-trigger{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;width:64px;height:47px;padding:0;border:0;border-bottom:1px solid #d7654d;background:rgba(14,16,19,.2);color:#fffaf0;font-size:12px;font-weight:700;letter-spacing:.13em;cursor:pointer;text-shadow:0 1px 5px rgba(0,0,0,.7);transition:height .35s ease,background .2s ease,color .2s ease}.language-trigger:hover,.language-trigger:focus-visible{background:rgba(14,16,19,.58);color:#fff;outline:none}.language-chevron{width:6px;height:6px;border:solid #d7654d;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.language-switch.open .language-chevron{transform:translateY(2px) rotate(225deg)}.language-menu{position:absolute;z-index:120;right:0;top:calc(100% + 1px);display:grid;width:64px;padding:8px 0;background:#101116;box-shadow:0 15px 30px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.language-switch.open .language-menu{opacity:1;visibility:visible;transform:none}.language-menu button{height:46px;border:0;background:transparent;color:#8f919d;font-size:12px;font-weight:700;letter-spacing:.13em;cursor:pointer}.language-menu button:hover,.language-menu button:focus-visible{background:#181a22;color:#fff;outline:none}.language-menu button[aria-selected="true"]{display:none}.site-header.scrolled .language-trigger{height:39px}.site-header.scrolled .language-menu{top:calc(100% + 1px)}
.gallery{grid-auto-rows:auto}.gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto;aspect-ratio:3/4}
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.gallery-item.wide{grid-column:auto}}
.brand-logo-footer{width:250px;height:78px;filter:brightness(2.35) saturate(.68) drop-shadow(0 3px 10px rgba(10,14,8,.48))}
@media(max-width:600px){.brand-logo-footer{width:205px;height:68px}}

/* Unified layout grid ----------------------------------------------------- */
:root{
  --layout-max:1200px;
  --layout-gutter:24px;
  --layout-gap:24px;
  --shell:min(var(--layout-max),calc(100% - (var(--layout-gutter) * 2)));
}

.header-inner{width:var(--shell)}

@media(min-width:1051px){
  .header-inner,
  .intro-grid,
  .split-heading,
  .service-grid,
  .gallery,
  .film-grid,
  .fullservice-grid,
  .process-grid,
  .about-grid,
  .pricing-grid,
  .faq-grid,
  .contact-grid,
  .footer-top,
  .footer-bottom{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:var(--layout-gap);
  }

  .header-inner{position:relative;align-items:center}
  .header-inner>.brand{grid-column:1 / span 3;justify-self:start}
  .site-nav{position:static;grid-column:4 / span 7;transform:none;justify-self:stretch;justify-content:center;gap:clamp(18px,2vw,34px)}
  .language-switch{grid-column:12;justify-self:end;margin-left:0}
  .brand-logo-header{max-width:100%}

  .hero-content>*{max-width:780px}
  .hero-note{right:max(var(--layout-gutter),calc((100vw - var(--layout-max))/2))}

  .trust-grid>div:nth-child(1){grid-column:1 / span 3}
  .trust-grid>div:nth-child(2){grid-column:4 / span 3}
  .trust-grid>div:nth-child(3){grid-column:7 / span 3}
  .trust-grid>div:nth-child(4){grid-column:10 / span 3}

  .intro-grid{row-gap:0}
  .intro-grid>:first-child{grid-column:1 / span 7}
  .intro-grid>:last-child{grid-column:9 / span 4}

  .split-heading{row-gap:0}
  .split-heading>div{grid-column:1 / span 8}
  .split-heading>p{grid-column:9 / span 4}

  .service-grid{grid-auto-rows:520px;gap:var(--layout-gap)}
  .service-card{grid-column:span 4}
  .service-card-wide{grid-column:span 8}

  .gallery{gap:var(--layout-gap)}
  .gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:span 3}

  .film-grid{gap:var(--layout-gap)}
  .film-card:nth-child(1){grid-column:1 / span 3}
  .film-card:nth-child(2){grid-column:4 / span 6}
  .film-card:nth-child(3){grid-column:10 / span 3}

  .fullservice-grid{row-gap:0}
  .fullservice-grid>:first-child{grid-column:1 / span 6}
  .fullservice-grid>:last-child{grid-column:8 / span 5}

  .process-grid{row-gap:0}
  .process-grid>li{grid-column:span 3}

  .about-grid{row-gap:0}
  .about-grid>:first-child{grid-column:1 / span 5}
  .about-grid>:last-child{grid-column:7 / span 6}

  .pricing-grid{row-gap:0}
  .pricing-grid>:first-child{grid-column:1 / span 7}
  .pricing-grid>:last-child{grid-column:9 / span 4}

  .faq-grid{row-gap:0}
  .faq-grid>:first-child{grid-column:1 / span 4}
  .faq-grid>:last-child{grid-column:6 / span 7}

  .contact-grid{row-gap:0}
  .contact-grid>:first-child{grid-column:1 / span 5}
  .contact-grid>:last-child{grid-column:7 / span 6}

  .footer-top{min-height:190px;align-items:center}
  .footer-top>.footer-brand{grid-column:1 / span 3;justify-self:start}
  .footer-top>p{grid-column:4 / span 6;justify-self:center;text-align:center}
  .footer-top>.social-links{grid-column:10 / span 3;justify-self:end}
  .footer-bottom>span:nth-child(1){grid-column:1 / span 4}
  .footer-bottom>span:nth-child(2){grid-column:5 / span 4}
  .footer-bottom>span:nth-child(3){grid-column:9 / span 4}
}

@media(max-width:900px){
  :root{--layout-gutter:16px;--layout-gap:16px}
  .header-inner{width:var(--shell)}
  .intro-grid,.split-heading,.fullservice-grid,.about-grid,.pricing-grid,.faq-grid,.contact-grid{column-gap:var(--layout-gap)}
  .service-grid,.gallery,.film-grid{gap:var(--layout-gap)}
}

@media(max-width:600px){
  :root{--layout-gutter:14px;--layout-gap:10px}
}

/* Crisp play / pause icon drawn with CSS so it stays optically centered. */
.video-toggle{display:grid;place-items:center}
.video-toggle .video-icon{position:relative;display:block;width:16px;height:18px;margin:0 0 0 2px}
.video-toggle .video-icon::before{content:"";position:absolute;left:3px;top:2px;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}
.film-card.playing .video-toggle .video-icon{width:14px;height:18px;margin:0}
.film-card.playing .video-toggle .video-icon::before,
.film-card.playing .video-toggle .video-icon::after{content:"";position:absolute;top:2px;bottom:2px;width:3px;height:auto;border:0;border-radius:1px;background:currentColor}
.film-card.playing .video-toggle .video-icon::before{left:2px}
.film-card.playing .video-toggle .video-icon::after{right:2px}

/* Language picker in the VIVA DEKO olive / gold palette. */
.language-trigger{
  border-bottom-color:var(--gold);
  background:rgba(48,56,38,.72);
  color:var(--on-dark);
  box-shadow:inset 0 0 0 1px rgba(201,169,125,.16);
  text-shadow:0 1px 5px rgba(15,18,11,.65);
}
.language-trigger:hover,
.language-trigger:focus-visible{
  background:rgba(95,107,70,.92);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(201,169,125,.55);
}
.language-chevron{border-color:var(--gold)}
.language-menu{
  border:1px solid rgba(201,169,125,.38);
  border-top:0;
  background:rgba(31,36,24,.98);
  box-shadow:0 16px 34px rgba(18,22,14,.34);
}
.language-menu button{color:var(--sage)}
.language-menu button:hover,
.language-menu button:focus-visible{
  background:var(--olive-900);
  color:var(--gold);
}

/* Footer social icons use the supplied PNG silhouettes in the brand gold. */
.social-links a{display:inline-flex;align-items:center;gap:8px;transition:color .2s ease}
.social-links a:hover{color:var(--gold)}
.social-icon{display:block;width:22px;height:22px;flex:0 0 22px;background:var(--gold);transition:background .2s ease,transform .2s ease;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.social-icon-instagram{-webkit-mask-image:url("public/assets_01/icons/instagram.png");mask-image:url("public/assets_01/icons/instagram.png")}
.social-icon-whatsapp{-webkit-mask-image:url("public/assets_01/icons/whatsapp.png");mask-image:url("public/assets_01/icons/whatsapp.png")}
.social-links a:hover .social-icon{background:var(--on-dark);transform:translateY(-1px)}

/* SEO concept stories ----------------------------------------------------- */
.hero h1{max-width:1080px;font-size:clamp(56px,6.5vw,96px)}
.concepts{--concept-active-height:420px;--concept-side-height:calc(var(--concept-active-height) * .78);background:var(--paper);overflow:hidden}
.concepts.section{padding-block:140px}
.concepts>.shell{width:min(1280px,calc(100% - (clamp(40px,4vw,64px) * 2)))}
.concepts-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--layout-gap);align-items:end;margin-bottom:72px}
.concepts-heading .eyebrow{grid-column:1/-1}
.concepts-heading h2{grid-column:1/11}
.concept-card{display:grid;grid-template-columns:minmax(0,58fr) minmax(380px,42fr);column-gap:clamp(64px,5vw,80px);align-items:center;margin-bottom:clamp(120px,10vw,150px)}
.concept-card:last-child{margin-bottom:0}
.concept-media{grid-column:1;min-width:0;position:relative}
.concept-carousel{position:relative;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.18fr) minmax(0,.78fr);align-items:center;gap:14px;height:calc(var(--concept-active-height) + 68px);padding-bottom:68px;touch-action:pan-y;user-select:none;overflow:hidden}
.concept-carousel:focus-visible{outline:2px solid var(--gold);outline-offset:8px}
.concept-carousel-card{position:relative;width:100%;overflow:hidden;border:0;padding:0;background:var(--porcelain);box-shadow:0 14px 34px rgba(45,38,22,.12)}
.concept-carousel-card img,.concept-carousel-card video{display:block;width:100%;height:100%;object-fit:cover}
.concept-carousel-card.is-active{height:var(--concept-active-height);z-index:2;box-shadow:0 18px 42px rgba(45,38,22,.18)}
.concept-carousel-card.is-side{height:var(--concept-side-height);cursor:pointer;filter:blur(.7px) brightness(.78) saturate(.86);opacity:.7;transform:scale(.96);transition:filter .3s ease,opacity .3s ease,transform .3s ease}
.concept-carousel-card.is-side:hover,.concept-carousel-card.is-side:focus-visible{filter:blur(.25px) brightness(.88) saturate(.95);opacity:.96;transform:scale(.97)}
.concept-carousel-card.is-side:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.concept-carousel-card.is-side.is-video::after{content:"▶";position:absolute;inset:50% auto auto 50%;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(31,36,24,.72);color:#fff;font-size:15px;transform:translate(-50%,-50%);backdrop-filter:blur(5px)}
.concept-carousel-controls{position:absolute;left:50%;bottom:0;z-index:4;display:flex;align-items:center;gap:20px;transform:translateX(-50%)}
.concept-carousel-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;background:var(--olive-950);color:var(--on-dark);font-size:18px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.concept-carousel-controls button:hover{background:var(--champagne);color:var(--olive-950);transform:scale(1.05)}
.concept-carousel-controls p{min-width:58px;margin:0;color:var(--olive-700);font-size:10px;font-weight:700;letter-spacing:.16em;text-align:center}
.concept-carousel.moves-next .concept-carousel-card>*{animation:concept-slide-next .38s ease both}
.concept-carousel.moves-previous .concept-carousel-card>*{animation:concept-slide-previous .38s ease both}
@keyframes concept-slide-next{from{opacity:.35;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes concept-slide-previous{from{opacity:.35;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
.concept-copy{grid-column:2;max-width:440px;justify-self:start}
.concept-number{color:var(--olive-700);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px}
.concept-copy h3{font-size:clamp(38px,3.15vw,44px);font-weight:500;line-height:1.05;margin-bottom:30px;text-wrap:balance}
.concept-copy>p:not(.concept-number):not(.concept-services){color:var(--muted);margin-bottom:24px}
.concept-services{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-700);margin-bottom:30px}
.concept-inquiry{min-width:270px;min-height:50px;padding-inline:22px;white-space:nowrap}
.concept-card-reverse{grid-template-columns:minmax(380px,42fr) minmax(0,58fr)}
.concept-card-reverse .concept-media{grid-column:2;order:2}
.concept-card-reverse .concept-copy{grid-column:1;order:1}

@media(min-width:1024px) and (max-width:1439px){
  .concepts{--concept-active-height:clamp(380px,36vw,410px)}
  .concepts.section{padding-block:120px}
  .concept-card{column-gap:clamp(40px,4vw,56px)}
  .concept-copy h3{font-size:clamp(34px,3.25vw,40px)}
}

@media(max-width:1023px){
  .concepts{--concept-active-height:440px}
  .concepts.section{padding-block:96px}
  .concepts>.shell{width:min(720px,calc(100% - 48px))}
  .concepts-heading{grid-template-columns:1fr;margin-bottom:72px;gap:22px}
  .concepts-heading .eyebrow,.concepts-heading h2{grid-column:1}
  .concept-card,.concept-card-reverse{grid-template-columns:1fr;grid-template-areas:"number" "heading" "media" "cta";column-gap:0;row-gap:0;margin-bottom:96px}
  .concept-copy,.concept-card-reverse .concept-copy{display:contents}
  .concept-number{grid-area:number;margin:0 0 18px}
  .concept-copy h3{grid-area:heading;max-width:650px;margin:0 0 38px;font-size:clamp(34px,5vw,40px)}
  .concept-media,.concept-card-reverse .concept-media{grid-area:media;grid-column:auto;order:initial;margin-bottom:28px}
  .concept-inquiry{grid-area:cta;justify-self:start;margin-top:0}
}

@media(max-width:767px){
  .concepts{--concept-active-height:clamp(340px,106vw,420px)}
  .concepts.section{padding-block:84px}
  .concepts>.shell{width:calc(100% - 40px)}
  .hero h1{font-size:clamp(43px,12vw,58px)}
  .concepts-heading{margin-bottom:70px}
  .concepts-heading h2{font-size:clamp(42px,12vw,58px)}
  .concept-card,.concept-card-reverse{margin-bottom:88px}
  .concept-copy h3{max-width:100%;margin-bottom:30px;font-size:clamp(28px,8.4vw,34px);line-height:1.08}
  .concept-media,.concept-card-reverse .concept-media{width:100%;margin-bottom:26px;overflow:hidden}
  .concept-carousel{grid-template-columns:minmax(0,.48fr) minmax(0,1.12fr) minmax(0,.48fr);gap:9px;width:120%;height:calc(var(--concept-active-height) + 64px);margin-left:-10%;padding-bottom:64px}
  .concept-carousel-card.is-side{filter:blur(.7px) brightness(.72) saturate(.82);opacity:.7;transform:scale(.94)}
  .concept-carousel-controls{bottom:0;gap:15px}
  .concept-carousel-controls button{width:42px;height:42px}
  .concept-inquiry{width:100%;min-width:0;min-height:50px;padding-inline:16px;font-size:10px}
}

/* Immersive concept gallery ------------------------------------------------ */
.lightbox{width:min(1320px,96vw);height:min(94dvh,940px);max-width:none;max-height:none;border:1px solid rgba(201,169,125,.45);padding:0;background:var(--olive-950);color:var(--on-dark);box-shadow:0 34px 100px rgba(5,7,4,.72);overflow:hidden}
.lightbox::backdrop{background:rgba(12,14,10,.88);backdrop-filter:blur(10px)}
.lightbox-panel{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:24px 28px 22px}
.lightbox-header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:0 62px 18px 0}
.lightbox-eyebrow{margin:0 0 3px;color:var(--gold);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.lightbox-header h2{font-size:clamp(28px,3vw,42px);line-height:1;color:var(--on-dark)}
.lightbox-counter{margin:0;color:var(--sage);font-size:11px;letter-spacing:.16em}
.lightbox-close{position:absolute;right:22px;top:17px;z-index:5;width:44px;height:44px;border:1px solid rgba(201,169,125,.5);border-radius:50%;background:rgba(31,36,24,.84);color:var(--on-dark);font-size:28px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.lightbox-close:hover{background:var(--gold);color:var(--olive-950);transform:rotate(90deg)}
.lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;background:#11150d}
.lightbox-stage>img,.lightbox-stage>video{width:100%;height:100%;min-height:0;object-fit:contain}
.lightbox-stage>video{display:none;background:#000}
.lightbox-stage.is-video>img{display:none}
.lightbox-stage.is-video>video{display:block}
.lightbox-nav{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(31,36,24,.72);color:#fff;font-size:21px;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(7px);transition:background .2s,color .2s,border-color .2s}
.lightbox-nav:hover{border-color:var(--gold);background:var(--gold);color:var(--olive-950)}
.lightbox-prev{left:20px}.lightbox-next{right:20px}
.lightbox-nav[hidden]{display:none}
.lightbox-thumbs{display:flex;gap:10px;padding-top:15px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.lightbox-thumb{position:relative;flex:0 0 66px;width:66px;height:78px;border:1px solid transparent;padding:0;background:#11150d;cursor:pointer;opacity:.56;transition:opacity .2s,border-color .2s,transform .2s}
.lightbox-thumb img{width:100%;height:100%;object-fit:cover}
.lightbox-thumb.active{border-color:var(--gold);opacity:1;transform:translateY(-2px)}
.lightbox-thumb.is-video::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;background:rgba(31,36,24,.4);color:#fff;font-size:16px}
.lightbox[data-single="true"] .lightbox-header,.lightbox[data-single="true"] .lightbox-thumbs{display:none}
.lightbox[data-single="true"] .lightbox-panel{grid-template-rows:minmax(0,1fr);padding:18px}

@media(max-width:600px){
  .lightbox{width:100vw;height:100dvh;border:0}
  .lightbox-panel{padding:16px 12px 14px;grid-template-rows:auto minmax(0,1fr) auto}
  .lightbox-header{padding:0 54px 14px 2px;align-items:start;flex-direction:column;gap:6px}
  .lightbox-header h2{font-size:29px}
  .lightbox-close{right:12px;top:11px;width:42px;height:42px}
  .lightbox-nav{width:44px;height:44px}.lightbox-prev{left:10px}.lightbox-next{right:10px}
  .lightbox-thumb{flex-basis:54px;width:54px;height:66px}
}

/* Art-directed hero backgrounds for every screen shape. */
@media(max-width:1366px) and (orientation:landscape){
  .hero-media{background-image:url("public/assets_01/hero_bg/web/hero_bg_tablet landscape.webp")}
}
@media(max-width:1100px) and (orientation:portrait){
  .hero-media{background-image:url("public/assets_01/hero_bg/web/hero_bg_tablet portrait.webp")}
}
@media(max-width:932px) and (orientation:landscape){
  .hero-media{background-image:url("public/assets_01/hero_bg/web/hero_bg_mobile landscape.webp")}
}
@media(max-width:600px) and (orientation:portrait){
  .hero-media{background-image:url("public/assets_01/hero_bg/web/hero_bg_mobile portrait.webp")}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card img,.gallery-item img{transition:none}.language-menu,.language-chevron,.language-trigger{transition:none}.concept-carousel .concept-carousel-card>*{animation:none!important}.concept-carousel-card.is-side,.concept-carousel-controls button{transition:none}}

/* Business-card finish: champagne gold, fine inset rules and deep olive. */
.nav-cta{position:relative;border-color:var(--gold);background:rgba(37,42,18,.56);color:var(--on-dark)!important;box-shadow:inset 0 0 0 3px rgba(228,200,148,.08)}
.nav-cta::after{content:"";position:absolute;inset:4px;border:1px solid rgba(228,200,148,.32);pointer-events:none}
.nav-cta:hover{background:var(--olive-900);box-shadow:inset 0 0 0 3px rgba(228,200,148,.14),0 8px 22px rgba(18,22,8,.2)}
.language-menu a{display:grid;place-items:center;height:46px;border:0;background:transparent;color:var(--sage);font-size:12px;font-weight:700;letter-spacing:.13em;cursor:pointer}
.language-menu a:hover,.language-menu a:focus-visible{background:var(--olive-900);color:var(--champagne);outline:none}
.language-menu a[aria-current="page"]{display:none}
.trust-strip{background:linear-gradient(135deg,var(--olive-900),var(--olive-950))}
.pricing-card{border-color:rgba(168,121,50,.34);box-shadow:inset 0 0 0 4px rgba(228,200,148,.18),var(--shadow)}
.contact-form{box-shadow:inset 0 0 0 4px rgba(168,121,50,.12)}

@media(max-width:1050px){
  .site-nav{width:100%;transform:translate3d(100%,0,0)}
  .site-nav.open{transform:translate3d(0,0,0)}
}

/* Legal pages */
.legal-page{background:var(--paper);color:var(--ink)}
.legal-header{display:flex;align-items:center;min-height:118px;padding:18px max(24px,calc((100% - 1040px)/2));background:var(--olive-950);border-bottom:1px solid rgba(228,200,148,.45)}
.legal-header img{width:260px;height:auto;filter:brightness(2.25) saturate(.7)}
.legal-shell{width:min(860px,calc(100% - 48px));margin:0 auto;padding:90px 0 110px}
.legal-shell>h1{max-width:none;color:var(--olive-950);font-size:clamp(54px,8vw,88px);margin-bottom:60px}
.legal-shell section{padding:28px 0;border-top:1px solid var(--line)}
.legal-shell h2{font-size:clamp(28px,4vw,40px);line-height:1.12;margin-bottom:18px}
.legal-shell p{max-width:760px;color:var(--muted)}
.legal-shell a:not(.button){color:var(--olive-700);text-decoration:underline;text-underline-offset:3px}
.legal-back{margin-top:42px}
@media(max-width:600px){.legal-header{min-height:92px}.legal-header img{width:205px}.legal-shell{width:calc(100% - 28px);padding:64px 0 80px}.legal-shell>h1{margin-bottom:42px}}

/* Prepared brand assets already contain the final olive/gold colors. */
.brand-logo-header{filter:drop-shadow(0 3px 10px rgba(10,14,8,.35))}
.brand-logo-footer{width:150px;height:150px;filter:drop-shadow(0 5px 16px rgba(5,8,3,.3))}
.legal-header img{filter:drop-shadow(0 3px 10px rgba(10,14,8,.35))}
@media(max-width:600px){.brand-logo-footer{width:124px;height:124px}}

/* Keep the ampersand legible inside the decorative italic heading. */
.ampersand{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:.78em;line-height:1;letter-spacing:0;transform:translateY(-.04em)}

/* Unified button system based on the two approved business-card styles. */
.hero-actions .button-dark{background:rgba(37,42,18,.9);color:var(--on-dark)}
.concept-inquiry{width:280px;max-width:100%;gap:10px;margin-top:4px;padding-inline:14px;font-size:10px;letter-spacing:.075em;text-align:center}

.filter-row{gap:10px}
.filter-button{position:relative;min-height:44px;padding:0 22px;border:1px solid #8b672d;background:linear-gradient(135deg,#f0d9a6 0%,var(--champagne) 52%,var(--sand) 100%);color:var(--olive-950);font-weight:700;box-shadow:0 7px 18px rgba(64,49,22,.14);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.filter-button::after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,247,224,.66);pointer-events:none}
.filter-button:hover{border-color:var(--gold);background:linear-gradient(135deg,#f8e8c2,#d8b978);color:var(--olive-950);transform:translateY(-1px)}
.filter-button.active{border-color:var(--gold);background:linear-gradient(145deg,var(--olive-700),var(--olive-950));color:var(--on-dark);box-shadow:0 9px 22px rgba(37,42,18,.2)}
.filter-button.active::after{border-color:rgba(228,200,148,.55)}

.accordion{display:grid;gap:12px}
.accordion details,.accordion details:last-child{border:1px solid #8b672d;background:var(--porcelain);box-shadow:0 8px 22px rgba(64,49,22,.1)}
.accordion summary{position:relative;min-height:62px;padding:16px 22px;background:linear-gradient(135deg,#f0d9a6 0%,var(--champagne) 52%,var(--sand) 100%);color:var(--olive-950);font-family:var(--sans);font-size:13px;font-weight:700;line-height:1.45;letter-spacing:.045em;text-transform:uppercase;box-shadow:inset 0 0 0 4px rgba(255,247,224,.54);transition:background .22s ease,color .22s ease}
.accordion summary:hover{background:linear-gradient(135deg,#f8e8c2,#d8b978)}
.accordion details[open] summary{background:linear-gradient(145deg,var(--olive-700),var(--olive-950));color:var(--on-dark);box-shadow:inset 0 0 0 4px rgba(228,200,148,.2)}
.accordion summary span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin-left:18px;border:1px solid currentColor;font-size:21px;line-height:1}
.accordion details p{max-width:none;padding:24px 26px 26px;margin:0;background:var(--paper);color:var(--muted)}

@media(max-width:767px){
  .concept-inquiry{width:100%;margin-top:0}
}

@media(max-width:600px){
  .concept-inquiry{width:100%}
  .filter-button{min-height:42px;padding:0 18px}
  .accordion summary{padding:15px 16px;font-size:11px}
  .accordion summary span{flex-basis:28px;width:28px;height:28px;margin-left:12px}
  .accordion details p{padding:20px 18px 22px}
}
