/* VELLOSTRA / Editorial theme */
:root{--paper:#f7f7f5;--chalk:#ebeae7;--ink:#161616;--grey:#666764;--border:#d0d0cb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;width:100%}
button,input,textarea,select{font:inherit}
[hidden]{display:none!important}
.microbar{display:flex;justify-content:space-between;gap:20px;padding:12px 3.25vw;border-bottom:1px solid var(--border);font-size:10px;letter-spacing:.18em}
.microbar a:hover{text-decoration:underline}
.site-header{background:var(--paper);position:relative;z-index:5}
.masthead{padding:18px 3.05vw 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}
.logo{font-family:'Arial Narrow',Arial,Helvetica,sans-serif;font-stretch:condensed;font-size:clamp(42px,9.6vw,148px);font-weight:800;letter-spacing:-.085em;line-height:.85}
.logo-sub{font-size:11px;letter-spacing:.21em;white-space:nowrap}
.main-nav{display:flex;justify-content:flex-end;gap:38px;align-items:center;padding:19px 3.25vw;border-bottom:1px solid var(--border)}
.main-nav a{font-size:11px;letter-spacing:.13em;position:relative;white-space:nowrap}
.main-nav a:hover,.main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.kicker{font-size:10px;letter-spacing:.21em;line-height:1.5;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:400}
h1 em,h2 i,p i{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
p{font-size:15px;line-height:1.75}
.hero-editorial{display:grid;grid-template-columns:49% 51%;min-height:680px;height:min(780px,82vw)}
.hero-intro{display:flex;flex-direction:column;justify-content:space-between;padding:65px 5vw 52px 3.3vw}
.hero-intro h1{font-size:clamp(50px,6.75vw,109px);line-height:1.02;letter-spacing:-.095em;margin:30px 0 20px}
.hero-intro h1 em{letter-spacing:-.075em;font-size:.98em}
.intro-bottom{max-width:435px}.intro-bottom p{max-width:340px;margin-bottom:26px}
.text-link{font-size:11px;font-weight:600;letter-spacing:.12em;display:inline-flex;gap:20px;align-items:center;padding-bottom:9px;border-bottom:1px solid currentColor;text-transform:uppercase}
.text-link:hover{opacity:.5}
.hero-picture,.feature-image,.photo-frame,.service-story-image,.contact-photo{position:relative;overflow:hidden}
.hero-picture img,.feature-image img,.photo-frame img,.service-story-image img,.contact-photo img{height:100%;object-fit:cover;transition:transform 1s ease,filter .5s}
.hero-picture img{filter:grayscale(1);object-position:center}
.hero-picture:hover img,.photo-card:hover img{transform:scale(1.025)}
.photo-tag,.caption{position:absolute;bottom:23px;left:26px;font-size:10px;letter-spacing:.15em;background:rgba(247,247,245,.87);padding:7px 9px}
.editorial-marquee{height:62px;overflow:hidden;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.editorial-marquee span{font-size:11px;letter-spacing:.35em;white-space:nowrap}
.section-wrap{padding-left:3.25vw;padding-right:3.25vw}
.intro-statement{padding-top:165px;padding-bottom:165px;display:grid;grid-template-columns:24% 76%;gap:0;align-items:start}
.intro-statement p{font-size:clamp(30px,4.6vw,72px);line-height:1.16;letter-spacing:-.065em;max-width:1100px;margin:0;font-weight:500}
.image-feature{display:grid;grid-template-columns:55% 45%;min-height:760px;background:#deddda}
.feature-image img{filter:grayscale(1)}
.feature-copy{padding:85px 8% 75px 11%;display:flex;flex-direction:column;justify-content:center}
.feature-copy h2,.section-heading h2,.how-it-works h2{font-size:clamp(48px,6vw,92px);line-height:1.04;letter-spacing:-.09em;margin:30px 0}
.feature-copy p{max-width:400px;margin:5px 0 35px}
.service-preview{padding-top:140px;padding-bottom:150px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:65px}
.section-heading h2{margin:0}
.section-heading p{max-width:240px;margin:0 0 10px}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-frame{height:clamp(310px,35vw,610px);background:#d6d4d0}
.photo-frame img{filter:grayscale(.85)}
.photo-card:nth-child(1) img{object-position:52% center}
.photo-card:nth-child(2) img{object-position:center 46%}
.photo-card:nth-child(3) img{object-position:center 40%}
.card-line{display:flex;align-items:baseline;gap:18px;justify-content:space-between;margin-top:15px;border-top:1px solid #222;padding-top:14px}
.card-line span{font-size:11px}
.card-line h3{font-size:clamp(12px,1.25vw,18px);font-weight:500;letter-spacing:-.035em;margin:0;flex:1}
.brands{border-top:1px solid var(--border);padding-top:105px;padding-bottom:115px;text-align:center}
.brands h2{font-size:clamp(32px,4.9vw,66px);letter-spacing:-.07em;margin:25px 0 50px}
.brand-list{font-size:clamp(17px,2.05vw,31px);font-weight:600;line-height:2.1;letter-spacing:.09em}
.brand-list span{padding:0 10px;color:#b5b5b0;font-weight:300}
.brands p{font-size:12px;max-width:650px;margin:40px auto 0;color:#777}
.closing-cta{background:#171717;color:#f5f5f1;text-align:center;padding:125px 20px 145px}
.closing-cta h2{font-size:clamp(45px,7.3vw,115px);line-height:1.08;letter-spacing:-.07em;margin:32px 0}
.closing-cta p{color:#c7c7c2;max-width:500px;margin:0 auto 38px}
.cta-light{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;padding:17px 25px;min-width:245px;background:#f0f0eb;color:#121212;font-size:11px;font-weight:bold;letter-spacing:.12em;transition:background .2s}
.cta-light:hover{background:#d2d2cd}
.site-footer{padding:55px 3.25vw 20px}
.footer-hero{font-size:clamp(55px,13.1vw,205px);font-weight:800;letter-spacing:-.095em;line-height:.92;border-bottom:1px solid var(--border);padding-bottom:20px}
.footer-hero span{font-size:.11em;vertical-align:top;letter-spacing:0;margin-left:9px}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:28px 0 15px;font-size:10px;letter-spacing:.12em}
.photo-credit{font-size:10px;line-height:1.7;color:#767671;max-width:950px;margin:0}
.whatsapp-float{position:fixed;z-index:30;right:20px;bottom:18px;background:#171717;color:#fff;padding:15px 18px;border:1px solid #fff;font-size:11px;letter-spacing:.13em;box-shadow:0 7px 25px #0002}
.whatsapp-float span{margin-left:12px}
.whatsapp-float:hover{background:#555}
.page-title{padding-top:92px;padding-bottom:80px}
.page-title h1{font-size:clamp(65px,12vw,180px);line-height:.94;letter-spacing:-.09em;margin:35px 0 20px}
.title-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:45px}
.title-intro p{max-width:480px;margin:0}
.service-story{display:grid;grid-template-columns:56% 44%;min-height:730px;border-top:1px solid var(--border)}
.service-story.reverse{direction:rtl;grid-template-columns:49% 51%}
.service-story.reverse>*{direction:ltr}
.service-story-image{height:730px}
.service-story-image img{filter:grayscale(.85)}
.service-story-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px max(35px,8vw)}
.service-story-copy h2{font-size:clamp(54px,6.7vw,100px);line-height:1;letter-spacing:-.09em;margin:27px 0}
.service-story-copy p{max-width:410px;margin-bottom:30px}
.how-it-works{padding-top:120px;padding-bottom:130px}
.how-it-works h2{margin:30px 0 75px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.process-grid>div{border-top:1px solid #111;padding-top:18px}
.process-grid span{font-size:11px}
.process-grid h3{font-size:21px;font-weight:500;margin:34px 0 15px}
.process-grid p{max-width:300px;color:var(--grey)}
.note{font-size:11px;color:#777;max-width:650px;margin-top:50px}
.contact-layout{display:grid;grid-template-columns:50% 50%;gap:0;padding-bottom:110px}
.contact-photo{height:710px}
.contact-photo img{filter:grayscale(1)}
.contact-details{display:flex;flex-direction:column;justify-content:center;padding:45px min(6vw,95px)}
.contact-details h2{font-size:clamp(42px,5.4vw,81px);line-height:1.07;letter-spacing:-.075em;margin:30px 0}
.contact-details p{max-width:450px}
.contact-actions{margin-top:35px;display:flex;gap:10px;flex-wrap:wrap}
.contact-primary,.contact-secondary{border:1px solid #111;padding:17px 20px;display:inline-flex;justify-content:space-between;gap:18px;min-width:200px;font-size:10px;letter-spacing:.11em}
.contact-primary{background:#171717;color:#fff}.contact-secondary:hover{background:#e4e4e0}
.contact-phone{font-size:11px;letter-spacing:.1em;margin-top:50px}
.form-section{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-top:95px;padding-bottom:140px}
.form-intro h2{font-size:clamp(60px,7.5vw,120px);letter-spacing:-.085em;line-height:1;margin:35px 0}
.form-intro p{max-width:390px}
.formwrap{padding:20px 0}
.formwrap form{width:100%}
.field{margin:0 0 28px}
.field label{display:block;font-size:11px;letter-spacing:.09em;margin:0 0 10px}
.field input,.field textarea,.field select{border:0;border-radius:0;border-bottom:1px solid #999;width:100%;padding:15px 0;background:transparent;color:#111;font-size:16px;outline:none}
.field input:focus,.field textarea:focus{border-color:#101010}
.field textarea{height:110px;resize:vertical}
.form-submit{padding:20px 24px;background:#151515;color:#fff;border:0;width:100%;cursor:pointer;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.15em}
.form-submit:hover{background:#444}.form-submit:disabled{opacity:.55;cursor:wait}
.notice{font-size:12px;line-height:1.5;color:#555;margin:0 0 15px}
@media(max-width:950px){
 .microbar{padding:11px 20px}.masthead{padding:22px 20px 15px}.main-nav{padding:17px 20px;gap:18px}
 .hero-editorial{height:auto;min-height:0;grid-template-columns:1fr}
 .hero-intro{padding:45px 24px;min-height:450px;gap:45px}.hero-intro h1{font-size:clamp(56px,11vw,100px)}
 .hero-picture{height:65vh;min-height:400px}.intro-statement{padding:95px 24px;grid-template-columns:1fr;gap:30px}
 .image-feature{grid-template-columns:1fr}.feature-image{height:65vh}.feature-copy{padding:70px 24px}
 .service-preview{padding:100px 24px}.section-heading{display:block}.section-heading p{margin-top:20px}
 .photo-grid{gap:12px}.photo-frame{height:34vw}
 .service-story,.service-story.reverse{display:flex;flex-direction:column;min-height:unset;direction:ltr}
 .service-story-image{height:65vh;min-height:420px}.service-story-copy{padding:65px 24px 80px}
 .page-title{padding-top:70px;padding-bottom:55px}.page-title h1{font-size:clamp(65px,10.5vw,135px)}
 .contact-layout{grid-template-columns:1fr}.contact-photo{height:65vh}.contact-details{padding:80px 24px}
 .form-section{grid-template-columns:1fr;gap:35px;padding:95px 24px}.contact-actions{margin-top:25px}
 .section-wrap{padding-left:24px;padding-right:24px}
 .brand-list{line-height:2.0}
}
@media(max-width:600px){
 .microbar{font-size:9px;letter-spacing:.1em;padding:11px 16px}
 .logo{font-size:clamp(40px,11.2vw,64px)}.logo-sub{font-size:8px;letter-spacing:.06em}
 .masthead{padding:20px 16px 17px}.main-nav{justify-content:space-between;gap:8px;padding:16px}
 .main-nav a{font-size:9px;letter-spacing:.05em}
 .hero-intro{padding:38px 16px;min-height:450px}.hero-intro h1{font-size:clamp(51px,12vw,74px);margin:35px 0}
 .hero-picture{height:480px;min-height:0}.editorial-marquee{height:55px}.editorial-marquee span{font-size:9px}
 .section-wrap{padding-left:16px;padding-right:16px}
 .intro-statement{padding:90px 16px}.intro-statement p{font-size:clamp(30px,8vw,48px)}
 .feature-image{height:480px}.feature-copy{padding:65px 16px}
 .feature-copy h2,.section-heading h2{font-size:clamp(50px,11vw,77px)}
 .service-preview{padding:90px 16px 105px}.section-heading{margin-bottom:35px}
 .photo-grid{grid-template-columns:1fr;gap:45px}.photo-frame{height:430px}.card-line h3{font-size:16px}
 .brands{padding-top:80px;padding-bottom:80px}.brands h2{font-size:clamp(34px,9vw,56px)}
 .brand-list{font-size:18px;letter-spacing:.06em}.brand-list span{padding:0 5px}
 .closing-cta{padding:85px 16px 105px}.closing-cta h2{font-size:clamp(42px,10vw,65px)}
 .footer-hero{font-size:clamp(44px,12.9vw,80px)}.site-footer{padding:45px 16px 30px}
 .footer-bottom{flex-direction:column;gap:17px}.whatsapp-float{right:10px;bottom:10px;padding:13px 12px;font-size:10px}
 .page-title{padding-top:70px;padding-bottom:45px}.page-title h1{font-size:clamp(58px,13vw,86px)}
 .title-intro{flex-direction:column;align-items:flex-start;gap:20px}
 .service-story-image{height:470px;min-height:0}
 .service-story-copy{padding:55px 16px 85px}.service-story-copy h2{font-size:clamp(53px,12vw,79px)}
 .how-it-works{padding-top:85px;padding-bottom:85px}.how-it-works h2{font-size:clamp(48px,11vw,72px)}
 .process-grid{grid-template-columns:1fr;gap:30px}.process-grid h3{margin:19px 0 12px}
 .contact-photo{height:450px}.contact-details{padding:65px 0}.contact-details h2{font-size:clamp(43px,10vw,68px)}
 .contact-actions{flex-direction:column}.contact-primary,.contact-secondary{width:100%}
 .form-section{padding:80px 16px 110px}.form-intro h2{font-size:clamp(65px,14vw,100px)}
 .photo-credit{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-picture img,.feature-image img,.photo-frame img,.service-story-image img{transition:none}}