
:root{--paper:#f5f2ec;--paper2:#ebe5da;--ink:#292a26;--muted:#77756d;--rust:#ad6d52;--line:#d8d1c6;--olive:#858b78;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",sans-serif;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}::selection{background:var(--rust);color:white}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:clamp(90px,10vw,150px)}.site-header{height:92px;padding:0 max(56px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;background:#f5f2ecee;backdrop-filter:blur(18px);border-bottom:1px solid #d8d1c699;transition:height .35s}.site-header.scrolled{height:76px}.brand{width:76px;display:block}.brand img{height:auto;max-height:62px;width:100%;object-fit:contain;image-rendering:auto}.main-nav{display:flex;align-items:center;gap:clamp(20px,3vw,42px);font-size:12px;font-weight:600}.main-nav>a:not(.nav-button){position:relative}.main-nav>a:not(.nav-button):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--rust);transition:width .3s}.main-nav>a:hover:after{width:100%}.nav-button{border:1px solid #77766e;border-radius:40px;padding:14px 20px;transition:.3s}.nav-button:hover{background:var(--ink);color:white;border-color:var(--ink)}.nav-button span,.btn span{color:var(--rust);margin-left:12px}.menu-toggle{display:none}
.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--rust);display:inline-block}.home-hero{padding-top:clamp(55px,7vw,105px);min-height:700px;position:relative}.hero-kicker{margin-bottom:38px}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:5vw;align-items:center}.hero-copy{padding:0 0 40px 3.5vw}.hero-copy h1,.simple-hero h1,.sub-hero h1{font-family:var(--sans);font-weight:500;font-size:clamp(64px,7.5vw,112px);letter-spacing:-.075em;line-height:.94;margin:0 0 32px}.hero-copy h1 em,.simple-hero h1 em,.sub-hero h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--rust);letter-spacing:-.055em}.hero-intro{font-size:15px;line-height:1.9;color:#5f5e57;max-width:480px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:40px;padding:17px 24px;font-size:12px;font-weight:700;transition:transform .3s,background .3s,color .3s,border .3s}.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--rust)}.btn-outline{border:1px solid #aaa397}.btn-outline:hover{background:var(--ink);color:white;border-color:var(--ink)}.btn-light{background:var(--paper);color:var(--ink)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--rust);padding-bottom:7px}.hero-signature{display:flex;gap:10px;align-items:center;margin-top:78px;font-size:9px;letter-spacing:.16em;color:#88847a}.hero-signature b{color:var(--rust)}.hero-collage{height:560px;position:relative;margin-right:2vw}.hero-collage figure{position:absolute;margin:0;overflow:hidden}.hero-collage img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hero-collage figure:hover img{transform:scale(1.035)}.collage-main{width:75%;height:83%;right:0;top:0}.collage-small{width:40%;height:48%;left:0;bottom:0;border:9px solid var(--paper)}.hero-collage figcaption{position:absolute;bottom:15px;left:17px;background:#f5f2eced;padding:8px 12px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.collage-stamp{position:absolute;top:45%;left:0;z-index:2;width:108px;height:108px;border-radius:50%;background:var(--rust);color:white;display:grid;place-content:center;text-align:center;font-size:11px;letter-spacing:.1em;line-height:1.4;transform:rotate(-12deg);box-shadow:0 12px 30px #0002}.collage-stamp b{font-size:18px}.hero-bottom{display:flex;align-items:center;gap:16px;position:absolute;bottom:22px;left:3.5vw;right:3.5vw;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.scroll-line{height:1px;background:var(--line);flex:1;position:relative}.scroll-line:after{content:"";position:absolute;left:0;top:0;height:1px;width:22%;background:var(--rust);animation:scrollline 2.8s ease-in-out infinite}@keyframes scrollline{0%,100%{transform:translateX(0)}50%{transform:translateX(350%)}}
.intro-section{padding-bottom:70px}.intro-grid{display:grid;grid-template-columns:1fr .7fr;gap:8vw;margin-top:28px;align-items:end}.intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-size:clamp(50px,6vw,84px);font-weight:500;letter-spacing:-.07em;line-height:1.02;margin:0}.intro-text{max-width:470px;font-size:14px;line-height:1.95;color:#66645c}.ticker{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);margin-top:70px;padding:18px 0;color:#9b9589;font-size:10px;letter-spacing:.22em}.ticker div{display:inline-block;padding-left:30px;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-100%)}}
.feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(55px,9vw,135px);align-items:center;padding-block:45px 95px}.feature-photo{grid-template-columns:.85fr 1.15fr}.feature-photo .feature-image{order:2}.feature-image{height:clamp(380px,48vw,620px);position:relative;overflow:hidden}.feature-image img{transition:transform 1s}.feature-image:hover img{transform:scale(1.03)}.image-index{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:9px 12px;font-size:9px;letter-spacing:.12em}.feature-copy{max-width:480px}.feature-copy h2{margin:25px 0}.feature-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:#68665e;margin-bottom:30px}
.services-section{padding-top:120px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:55px}.section-heading>p{max-width:330px;font-size:13px;line-height:1.9;color:var(--muted)}.section-heading h2{margin-top:22px}.service-list{border-top:1px solid var(--line)}.service-row{min-height:88px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:65px 1fr 190px 30px;align-items:center;gap:20px;transition:padding .35s,background .35s}.service-row:hover{padding-inline:17px;background:#eee9e0}.service-row>span{font-size:10px;color:var(--rust);letter-spacing:.1em}.service-row b{font-size:clamp(18px,2vw,24px);font-weight:500;letter-spacing:-.04em}.service-row small{font-size:9px;letter-spacing:.13em;color:var(--muted)}.service-row i{font-style:normal;font-size:18px;transition:transform .3s}.service-row:hover i{transform:translate(4px,-4px);color:var(--rust)}
.work-preview{background:#eee9e0}.work-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:290px 290px;gap:18px}.work-card{position:relative;overflow:hidden;background:#d4cec2;min-width:0}.work-card.work-wide{grid-row:span 2}.work-card img{transition:transform .9s}.work-card:hover img{transform:scale(1.045)}.work-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0008)}.work-card span,.work-card b{position:absolute;left:22px;z-index:1;color:white}.work-card span{bottom:58px;font-size:9px;letter-spacing:.14em}.work-card b{bottom:24px;font-size:18px;font-weight:500}
.about-teaser{display:grid;grid-template-columns:.8fr 1fr;gap:10vw;align-items:center}.about-note{min-height:420px;background:var(--paper2);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.about-mark{font-size:130px;font-family:var(--serif);font-style:italic;letter-spacing:-.12em;color:var(--ink)}.about-mark span{font-size:25px;color:var(--rust);vertical-align:top}.note-caption{font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.about-copy h2{margin:25px 0}.about-copy>p{max-width:500px;font-size:14px;line-height:1.95;color:#66645c}.small-note{font-size:11px!important;color:#908a80!important;font-style:italic}
.closing-section{background:var(--ink);color:var(--paper);padding:110px 0;overflow:hidden;position:relative}.closing-inner{position:relative}.closing-section .eyebrow{color:#bcb5a9}.closing-section h2{font-size:clamp(52px,7vw,96px);font-weight:500;line-height:1;letter-spacing:-.07em;margin:25px 0 35px}.closing-section h2 em{color:#d39a7f}.closing-orbit{position:absolute;right:7%;top:5%;font-size:10px;letter-spacing:.2em;color:#77796e;border:1px solid #55574e;border-radius:50%;width:175px;height:175px;display:grid;place-items:center;transform:rotate(18deg)}
.footer{padding:60px max(56px,calc((100vw - var(--max))/2)) 25px}.footer-main{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:8vw;padding-bottom:65px}.footer-logo{width:90px}.footer-logo img{height:auto;width:100%;object-fit:contain;image-rendering:auto}.footer-main h2{font-size:42px;line-height:1.05;letter-spacing:-.06em;font-weight:500;margin:15px 0}.footer-main h2 em{color:var(--rust);font-family:var(--serif);font-weight:400}.footer-cta{border-bottom:1px solid var(--rust);padding-bottom:10px;font-size:12px;font-weight:700}.footer-cta span{color:var(--rust);margin-left:15px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.whatsapp{position:fixed;right:26px;bottom:25px;z-index:70;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--rust);color:white;font-size:22px;box-shadow:0 8px 24px #0002;transition:transform .3s}.whatsapp:hover{transform:translateY(-4px) rotate(45deg)}
.simple-hero{padding-top:100px;padding-bottom:65px}.simple-hero h1{margin:28px 0}.simple-hero .hero-intro{max-width:650px}.sub-hero{padding-top:80px;padding-bottom:70px}.sub-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;margin-top:35px}.sub-hero h1{font-size:clamp(54px,6.6vw,92px)}.sub-hero .hero-intro{margin:28px 0}.sub-hero-image{height:clamp(370px,45vw,580px);position:relative;margin:0;overflow:hidden}.sub-hero-image figcaption{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:10px 14px;font-size:10px}.detail-content{display:grid;grid-template-columns:1fr .8fr;gap:9vw}.detail-heading h2{margin-top:24px}.detail-body{font-size:15px;line-height:2;color:#66645c;max-width:550px}.detail-body p:first-child{font-size:18px;color:var(--ink);line-height:1.8}.detail-body .text-link{display:inline-block;margin-top:15px;color:var(--ink)}.service-related{background:var(--paper2);padding-block:90px}.service-related h2{font-size:clamp(42px,5vw,64px);letter-spacing:-.06em;font-weight:500;margin:20px 0 35px}.mini-service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;border-top:1px solid #cfc7bb}.mini-service{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid #cfc7bb;font-size:14px}.mini-service b{color:var(--rust)}
.portfolio-filter{display:flex;gap:25px;margin-bottom:35px;flex-wrap:wrap}.filter{font-size:11px;color:var(--muted);padding-bottom:8px;border-bottom:1px solid transparent}.filter:hover,.filter.active{color:var(--ink);border-color:var(--rust)}.portfolio-mosaic{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.portfolio-item{position:relative;min-height:350px;overflow:hidden;background:#d7d1c7}.portfolio-item.large{grid-row:span 2;min-height:720px}.portfolio-item img{transition:transform .9s}.portfolio-item:hover img{transform:scale(1.035)}.portfolio-item:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.portfolio-item div{position:absolute;bottom:26px;left:28px;z-index:1;color:white}.portfolio-item span{font-size:9px;letter-spacing:.14em}.portfolio-item h2{font-size:clamp(22px,2.5vw,34px);font-weight:500;letter-spacing:-.04em;margin:10px 0 0}
.about-page{display:grid;grid-template-columns:.8fr 1fr;gap:10vw;align-items:center}.about-visual{height:530px;background:var(--paper2);display:flex;align-items:center;justify-content:center;flex-direction:column}.about-monogram{font-family:var(--serif);font-size:150px;font-style:italic;letter-spacing:-.15em}.about-monogram span{color:var(--rust);font-size:30px;vertical-align:top}.about-visual p{font-size:9px;letter-spacing:.2em;line-height:2;text-align:center;color:var(--muted)}.about-story h2{font-size:clamp(44px,5vw,68px);font-weight:500;line-height:1.02;letter-spacing:-.06em;margin:25px 0}.about-story>p{font-size:14px;line-height:2;color:#66645c}.about-story .small-note{margin:24px 0}
.contact-page{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.contact-info{padding-top:10px}.contact-email,.contact-phone{display:block;font-size:clamp(20px,2.5vw,30px);letter-spacing:-.04em;margin:30px 0 10px}.contact-phone{font-size:20px;margin-top:15px}.contact-info p{font-size:13px;line-height:1.9;color:var(--muted);max-width:300px;margin:35px 0}.contact-form{display:grid;gap:22px}.contact-form>label:not(.privacy-check):not(.honeypot){display:grid;gap:10px;font-size:11px;font-weight:700;color:#69675f}.contact-form input:not([type=file]):not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--ink);outline:none;font-size:14px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--rust)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a49e93}.file-label span{font-weight:400;color:var(--muted)}.file-label input{font-size:12px;margin-top:8px}.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);line-height:1.6}.privacy-check input{margin-top:2px;accent-color:var(--rust)}.contact-form .btn{justify-self:start;border:0;cursor:pointer}.form-note{font-size:10px;color:var(--muted);margin-top:-10px}.honeypot{position:absolute!important;left:-9999px!important}.thankyou{min-height:65vh}
.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .reveal:nth-child(2){transition-delay:.06s}.js .reveal:nth-child(3){transition-delay:.12s}}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.site-header{padding-inline:36px}.main-nav{gap:18px}.hero-grid{grid-template-columns:.95fr 1.05fr}.hero-collage{height:480px}.hero-copy{padding-left:0}.feature{gap:6vw}.footer{padding-inline:36px}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}.site-header{height:72px;padding-inline:22px}.site-header.scrolled{height:66px}.brand{width:64px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:12px;z-index:110}.menu-toggle span{width:23px;height:1px;background:var(--ink);display:block}.main-nav{position:fixed;inset:72px 0 auto;background:var(--paper);padding:25px 25px 32px;display:flex;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);transform:translateY(-130%);opacity:0;pointer-events:none;transition:transform .35s,opacity .35s}.menu-open .main-nav{transform:translateY(0);opacity:1;pointer-events:auto}.main-nav>a{padding:15px 0;border-bottom:1px solid var(--line)}.main-nav .nav-button{margin-top:15px;text-align:center;border:1px solid var(--line)}.home-hero{padding-top:55px;min-height:0;padding-bottom:70px}.hero-kicker{margin-bottom:26px}.hero-grid{grid-template-columns:1fr;gap:38px}.hero-copy{padding:0}.hero-copy h1,.simple-hero h1,.sub-hero h1{font-size:clamp(52px,13vw,82px);margin-bottom:24px}.hero-intro{font-size:14px}.hero-signature{margin-top:42px}.hero-collage{height:430px;margin:0 0 20px 5vw}.collage-main{width:78%;height:83%}.collage-small{width:43%;height:47%}.collage-stamp{width:86px;height:86px;font-size:9px}.hero-bottom{left:0;right:0;bottom:22px;font-size:8px}.section-pad{padding-block:82px}.intro-grid,.detail-content,.about-page,.contact-page{grid-template-columns:1fr;gap:30px}.intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-size:clamp(44px,11vw,64px)}.ticker{margin-top:48px}.feature,.feature-photo{grid-template-columns:1fr;gap:32px;padding-block:25px 65px}.feature-photo .feature-image{order:0}.feature-image{height:75vw;max-height:490px}.feature-copy{padding-inline:3px}.services-section{padding-top:70px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.service-row{grid-template-columns:34px 1fr 24px;gap:10px;min-height:78px}.service-row small{display:none}.service-row b{font-size:17px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px;gap:10px}.work-card.work-wide{grid-column:span 2;grid-row:span 1}.work-card b{font-size:15px;left:14px}.work-card span{left:14px;font-size:8px}.about-teaser{grid-template-columns:1fr;gap:35px}.about-note{min-height:280px}.about-mark{font-size:100px}.closing-section{padding:85px 0}.closing-section h2{font-size:clamp(48px,11vw,72px)}.closing-orbit{width:100px;height:100px;right:-15px;top:0;font-size:7px}.footer{padding:48px 22px 22px}.footer-main{grid-template-columns:65px 1fr;gap:25px;padding-bottom:40px}.footer-logo{width:60px}.footer-main h2{font-size:32px}.footer-cta{grid-column:2;justify-self:start}.footer-bottom{flex-wrap:wrap;line-height:1.8}.sub-hero{padding-top:55px}.sub-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:25px}.sub-hero-image{height:76vw;min-height:300px}.detail-content{padding-block:75px}.detail-body{font-size:14px}.mini-service-list{grid-template-columns:1fr}.portfolio-mosaic{grid-template-columns:1fr;gap:13px}.portfolio-item,.portfolio-item.large{grid-row:auto;min-height:390px}.portfolio-item.large{min-height:480px}.portfolio-page{padding-top:55px}.about-visual{height:330px}.about-story h2{font-size:48px}.contact-page{padding-top:45px}.contact-info p{max-width:450px}.simple-hero{padding-top:65px;padding-bottom:35px}}
@media(max-width:420px){.hero-collage{height:350px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.work-grid{grid-template-rows:230px 190px 190px}.work-card b{font-size:13px}.work-card span{font-size:7px}.footer-bottom{font-size:9px;gap:8px 18px}}
\n.portfolio-item[hidden]{display:none!important}.portfolio-filter .filter{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 8px;cursor:pointer;font-family:inherit}.portfolio-filter .filter.active{border-color:var(--rust)}\n
/* CREATIVE EDITION — expressive editorial art direction */
:root{--paper:#f4efe5;--paper2:#e8e0d2;--ink:#202b25;--muted:#77796f;--rust:#c15d3e;--line:#d5cbbb;--olive:#68745d;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",sans-serif}
body{background:var(--paper);background-image:radial-gradient(#6f624e0c .65px,transparent .65px);background-size:5px 5px}
.site-header{background:#f4efe5e8;border-bottom:1px solid #cfc5b5}
.brand{width:94px}.brand img{max-height:68px}
.main-nav{font-size:12px;letter-spacing:.015em}
.nav-button{border-color:var(--rust);padding:15px 22px}
.nav-button:hover{background:var(--rust);border-color:var(--rust)}
.hero-kicker,.simple-hero .eyebrow,.sub-hero .eyebrow{color:var(--olive)}
.hero-copy h1{font-size:clamp(76px,9.2vw,142px);line-height:.84;letter-spacing:-.09em;font-weight:600}
.hero-copy h1 em{display:inline-block;font-size:1.08em;color:var(--rust);transform:rotate(-4deg);margin-left:-.04em}
.hero-intro{font-size:16px;line-height:1.85;max-width:440px}
.hero-collage{height:650px;margin-right:-3vw}
.collage-main{width:76%;height:86%;right:0;top:0;border-radius:48% 48% 3px 3px;overflow:hidden}
.collage-small{width:43%;height:47%;left:0;bottom:0;border:10px solid var(--paper);border-radius:48% 48% 48% 4px;overflow:hidden;transform:rotate(-5deg)}
.collage-stamp{background:var(--olive);width:125px;height:125px;left:3%;top:39%;font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:0;transform:rotate(-13deg)}
.collage-stamp b{font-family:var(--sans);font-style:normal}
.hero-collage figcaption{border-radius:30px;padding:10px 16px}
.hero-signature{color:var(--olive);font-weight:700}
.hero-bottom{color:var(--olive)}
.intro-section{padding-top:clamp(100px,12vw,175px)}
.intro-grid{grid-template-columns:1.1fr .7fr;gap:12vw}
.intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-size:clamp(58px,7vw,100px);line-height:.96}
.intro-grid h2 em,.section-heading h2 em,.feature-copy h2 em,.about-copy h2 em{color:var(--olive)}
.ticker{border-color:var(--rust);color:var(--rust);font-weight:700}
.feature{gap:clamp(60px,11vw,160px);padding-block:75px 130px}
.feature-image{height:clamp(450px,54vw,700px);border-radius:48% 48% 3px 3px;overflow:hidden}
.feature-photo .feature-image{border-radius:3px 48% 48% 48%}
.feature-image img{filter:saturate(.9)}
.feature-copy h2{margin:28px 0}
.feature-copy h2 em{color:var(--rust)}
.feature-copy>p:not(.eyebrow){font-size:15px}
.btn-dark{background:var(--olive)}
.btn-dark:hover{background:var(--rust)}
.btn-outline{border-color:var(--olive)}
.btn-outline:hover{background:var(--olive)}
.services-section{position:relative}
.services-section:before{content:"✳";position:absolute;right:5%;top:7%;font-size:100px;color:#c15d3e20;transform:rotate(18deg)}
.service-row{min-height:100px;grid-template-columns:60px 1fr 185px 30px}
.service-row b{font-size:clamp(21px,2.4vw,30px)}
.service-row:hover{background:#e9e1d4;padding-inline:22px}
.service-row>span{font-family:var(--serif);font-size:15px}
.work-preview{background:#e9e1d4;position:relative;overflow:hidden}
.work-preview:before{content:"";position:absolute;right:-180px;top:-220px;width:500px;height:500px;border:1px solid #c15d3e55;border-radius:50%}
.work-grid{grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:320px 320px;gap:22px}
.work-card{background:var(--olive);border-radius:2px 65px 2px 2px}
.work-card.work-wide{border-radius:2px 160px 2px 2px}
.work-card:nth-child(2){border-radius:120px 2px 2px 2px}
.work-card:nth-child(3){border-radius:2px 2px 90px 2px}
.work-card:nth-child(4){border-radius:2px 2px 2px 90px}
.work-card:after{background:linear-gradient(transparent 25%,#17221cbb)}
.work-card span{color:#f3d5c5}
.work-card b{font-family:var(--serif);font-size:24px;font-weight:400}
.about-teaser{gap:12vw}
.about-note{min-height:520px;background:transparent;position:relative;overflow:visible}
.about-note img{width:82%;height:500px;object-fit:cover;border-radius:48% 48% 3px 3px;transform:rotate(-4deg);box-shadow:18px 18px 0 var(--paper2)}
.portrait-caption{position:absolute;bottom:22px;right:0;background:var(--rust);color:#fff;padding:13px 18px;font-size:9px;letter-spacing:.16em;transform:rotate(3deg)}
.about-copy h2 em{color:var(--rust)}
.closing-section{background:var(--olive);padding:145px 0}
.closing-section:before,.closing-section:after{content:"";position:absolute;border:1px solid #ffffff30;border-radius:50%;width:500px;height:500px;right:-120px;top:-240px}
.closing-section:after{width:350px;height:350px;right:-45px;top:-165px}
.closing-section h2{font-size:clamp(68px,9vw,125px);line-height:.9}
.closing-section h2 em{color:#f1b39a}
.closing-orbit{border-color:#ffffff55;color:#e9dfd0}
.btn-light{background:var(--paper)}
.footer{background:var(--paper)}
.footer-main h2 em{color:var(--rust)}
.whatsapp{background:var(--rust);width:54px;height:54px}
.simple-hero h1,.sub-hero h1{font-size:clamp(70px,8vw,116px);line-height:.91}
.simple-hero h1 em,.sub-hero h1 em{color:var(--rust)}
.sub-hero-grid{gap:9vw}
.sub-hero-image{border-radius:48% 48% 2px 2px;overflow:hidden;transform:rotate(1.5deg)}
.detail-content{position:relative}
.detail-heading h2 em{color:var(--rust)}
.service-related{background:#e9e1d4}
.mini-service{font-size:15px;padding:25px 4px}
.portfolio-page{padding-top:50px}
.portfolio-mosaic{grid-template-columns:1.1fr .9fr;gap:24px}
.portfolio-item{border-radius:2px 70px 2px 2px;min-height:390px}
.portfolio-item:nth-child(3n){border-radius:90px 2px 2px 2px}
.portfolio-item.large{border-radius:2px 180px 2px 2px;min-height:800px}
.portfolio-item div{left:32px;bottom:34px}
.portfolio-item h2{font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:400}
.portfolio-item:after{background:linear-gradient(transparent 30%,#17221cbb)}
.about-page{gap:12vw}
.about-visual{height:600px;background:transparent;position:relative;overflow:visible}
.about-visual img{width:88%;height:560px;object-fit:cover;border-radius:48% 48% 2px 2px;transform:rotate(-3deg);box-shadow:18px 18px 0 var(--paper2)}
.about-story h2 em{color:var(--rust)}
.contact-page{gap:12vw}
.contact-email{color:var(--rust);font-family:var(--serif);font-size:clamp(25px,3vw,38px)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--rust)}
@media(max-width:760px){
 .brand{width:72px}.hero-copy h1{font-size:clamp(66px,15vw,100px)}
 .hero-collage{height:430px;margin:0 0 15px 3vw}
 .collage-main{width:76%;height:85%;border-radius:48% 48% 2px 2px}
 .collage-small{border-width:7px}
 .collage-stamp{width:90px;height:90px;font-size:11px}
 .intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-size:clamp(52px,12vw,76px)}
 .feature-image{height:115vw;max-height:550px;border-radius:48% 48% 2px 2px}
 .feature-photo .feature-image{border-radius:2px 48% 48% 48%}
 .work-grid{grid-template-rows:280px 220px 220px;gap:12px}
 .work-card,.work-card.work-wide{border-radius:2px 70px 2px 2px}
 .work-card b{font-size:19px}
 .about-note{min-height:390px}.about-note img{height:370px}
 .closing-section{padding:100px 0}.closing-section h2{font-size:clamp(57px,12vw,85px)}
 .simple-hero h1,.sub-hero h1{font-size:clamp(58px,13vw,90px)}
 .sub-hero-image{height:95vw;border-radius:48% 48% 2px 2px}
 .portfolio-item,.portfolio-item.large{min-height:430px;border-radius:2px 90px 2px 2px}
 .portfolio-item:nth-child(3n){border-radius:80px 2px 2px 2px}
 .about-visual{height:420px}.about-visual img{height:390px}
}


/* KEVIN FLEUREN — REBUILT ART DIRECTION */
:root{--paper:#f3f0e9;--ink:#171916;--rust:#ef5538;--muted:#74766e;--line:#c9c7be;--max:1440px}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}
.site-header{height:84px;padding-inline:max(5vw,28px);background:rgba(243,240,233,.88);border-bottom:1px solid rgba(23,25,22,.12)}
.brand{width:84px}.brand img{max-height:66px;filter:contrast(1.2)}
.main-nav{font-size:12px;letter-spacing:.01em;gap:clamp(18px,2.4vw,38px)}
.nav-button{border-radius:2px;border:1px solid var(--ink);padding:13px 18px}
.nav-button:hover{background:var(--rust);border-color:var(--rust);color:#fff}
.home-hero{width:min(1500px,calc(100% - 10vw));padding-top:54px;min-height:calc(100vh - 84px);position:relative}
.hero-kicker,.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.hero-kicker i,.eyebrow i{background:var(--rust)}
.hero-grid{grid-template-columns:.88fr 1.12fr;gap:4vw;align-items:center;min-height:650px}
.hero-copy{padding:0 0 50px 2vw;position:relative;z-index:2}
.hero-copy h1{font-family:'Manrope',sans-serif;font-size:clamp(76px,10.8vw,164px);line-height:.82;letter-spacing:-.095em;font-weight:800;margin:0 0 36px}
.hero-copy h1 em{font-family:'Playfair Display',serif;font-weight:400;color:var(--rust);letter-spacing:-.07em}
.hero-intro{font-size:16px;line-height:1.75;max-width:430px;color:#55584f}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.btn{border-radius:2px;padding:17px 22px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--rust)}
.text-link{font-size:12px;border-bottom:1px solid var(--rust);padding-bottom:6px}
.hero-signature{margin-top:58px;font-size:9px;letter-spacing:.18em;gap:12px}
.hero-signature b{color:var(--rust)}
.hero-collage{height:min(68vw,690px);min-height:530px;position:relative;margin:0 0 30px 0;isolation:isolate}
.collage-main{position:absolute;inset:0 8% 8% 10%;width:82%;height:88%;overflow:hidden;clip-path:polygon(8% 0,100% 0,100% 83%,88% 100%,0 100%,0 13%);transform:rotate(1.5deg);transition:clip-path .7s,transform .7s}
.collage-main img{object-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.collage-main:hover img{transform:scale(1.06)}
.collage-main figcaption,.collage-small figcaption{font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.collage-small{position:absolute;right:0;bottom:0;width:38%;height:42%;z-index:3;overflow:hidden;border:9px solid var(--paper);clip-path:polygon(0 0,100% 10%,92% 100%,8% 92%);transform:rotate(-5deg);transition:transform .6s}
.collage-small img{transition:transform .8s}.collage-small:hover{transform:rotate(0) translateY(-8px)}.collage-small:hover img{transform:scale(1.08)}
.collage-stamp{position:absolute;left:0;top:13%;z-index:4;background:var(--rust);color:white;width:116px;height:116px;display:grid;place-content:center;text-align:center;font-size:11px;line-height:1.25;letter-spacing:.12em;transform:rotate(-9deg);border-radius:0}
.hero-bottom{font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.scroll-line{width:80px;height:1px;background:var(--rust)}
.section-pad{padding-block:clamp(90px,11vw,165px)}
.intro-section{width:min(1300px,calc(100% - 10vw))}
.intro-grid{grid-template-columns:1fr .65fr;gap:8vw}
.intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-family:'Manrope',sans-serif;font-size:clamp(58px,7vw,104px);line-height:.9;letter-spacing:-.075em;font-weight:700}
.intro-grid h2 em,.section-heading h2 em,.feature-copy h2 em,.detail-heading h2 em{font-family:'Playfair Display',serif;color:var(--rust);font-weight:400}
.intro-text{font-size:15px;line-height:1.85;max-width:490px}
.ticker{background:var(--ink);color:var(--paper);padding:19px 0;margin-top:100px;font-size:11px;letter-spacing:.2em}
.feature{width:min(1300px,calc(100% - 10vw));grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;padding-block:55px 110px}
.feature-photo{grid-template-columns:.85fr 1.15fr}
.feature-image{height:clamp(430px,54vw,680px);position:relative;overflow:hidden;clip-path:polygon(0 5%,92% 0,100% 90%,8% 100%)}
.feature-photo .feature-image{clip-path:polygon(8% 0,100% 8%,92% 100%,0 88%)}
.feature-image img{transition:transform 1.1s}.feature-image:hover img{transform:scale(1.055)}
.feature-copy h2{font-size:clamp(54px,6.5vw,94px);margin:25px 0}
.feature-copy p{font-size:14px;line-height:1.85;color:#5d6058;max-width:460px;margin-bottom:32px}
.btn-outline{border:1px solid var(--ink);border-radius:2px}.btn-outline:hover{background:var(--ink);color:white}
.image-index{position:absolute;bottom:20px;left:22px;color:#fff;font-size:10px;letter-spacing:.15em}
.services-section{width:min(1300px,calc(100% - 10vw))}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}
.section-heading>p{max-width:320px;line-height:1.8;font-size:14px}
.service-row{border-top:1px solid var(--line);min-height:100px;display:grid;grid-template-columns:60px 1fr 220px 30px;align-items:center;gap:20px;transition:padding .3s,background .3s}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-row:hover{padding-inline:18px;background:#e9e4da}
.service-row>span,.service-row small{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.service-row b{font-size:clamp(18px,2.2vw,27px);letter-spacing:-.04em}
.service-row i{font-style:normal;color:var(--rust);font-size:24px}
.work-grid{gap:18px}
.work-card{overflow:hidden;clip-path:polygon(0 0,100% 3%,97% 100%,3% 97%);transition:clip-path .5s}
.work-card:hover{clip-path:polygon(3% 0,100% 0,100% 97%,0 100%)}
.work-card img{transition:transform 1s}.work-card:hover img{transform:scale(1.07)}
.closing-section{background:var(--ink);color:var(--paper);padding:clamp(90px,12vw,170px) 0;overflow:hidden;position:relative}
.closing-section:after{content:"KF";position:absolute;right:-2vw;bottom:-.35em;font-family:Manrope;font-weight:800;font-size:35vw;letter-spacing:-.12em;color:rgba(255,255,255,.035);pointer-events:none}
.closing-section h2{font-family:Manrope;font-size:clamp(62px,9vw,130px);line-height:.9;letter-spacing:-.08em}
.closing-section h2 em{font-family:'Playfair Display';color:var(--rust);font-weight:400}
.btn-light{background:var(--paper);color:var(--ink);border-radius:2px}.btn-light:hover{background:var(--rust);color:#fff}
.footer{padding-inline:max(5vw,28px)}
.footer-logo{width:78px}.footer-main{grid-template-columns:100px 1fr auto}
.footer-main h2{font-family:Manrope;font-size:clamp(34px,4vw,56px);letter-spacing:-.07em}
.footer-main h2 em{font-family:'Playfair Display'}
.footer-cta{border-bottom:1px solid var(--rust)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.whatsapp{border-radius:2px;background:var(--rust)}
/* Inner pages */
.sub-hero,.simple-hero,.portfolio-page,.contact-page{width:min(1300px,calc(100% - 10vw))}
.sub-hero h1,.simple-hero h1{font-family:Manrope;font-size:clamp(60px,8vw,112px);line-height:.92;letter-spacing:-.08em}
.sub-hero-image,.about-visual{overflow:hidden;clip-path:polygon(7% 0,100% 5%,94% 100%,0 91%)}
.sub-hero-image img,.about-visual img{transition:transform 1s}.sub-hero-image:hover img{transform:scale(1.05)}
@media(max-width:760px){
 .site-header{height:72px;padding-inline:22px}.brand{width:66px}.home-hero{width:calc(100% - 40px);padding-top:38px;min-height:auto}
 .hero-grid{grid-template-columns:1fr;gap:18px;min-height:0}.hero-copy{padding:0 0 10px}.hero-copy h1{font-size:clamp(68px,16vw,112px);margin-bottom:25px}
 .hero-intro{font-size:14px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-signature{margin-top:35px}
 .hero-collage{height:105vw;min-height:390px;margin:0 0 65px 0}.collage-main{inset:0 5% 8% 7%;width:88%;height:85%}
 .collage-small{width:43%;height:40%}.collage-stamp{width:84px;height:84px;font-size:9px}
 .hero-bottom{bottom:12px}.intro-grid{grid-template-columns:1fr;gap:25px}.ticker{margin-top:55px}
 .feature,.feature-photo{width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;padding-block:35px 70px}
 .feature-photo .feature-image{order:0}.feature-image{height:100vw;max-height:500px}
 .section-heading{display:block}.section-heading>p{margin-top:20px}.service-row{grid-template-columns:28px 1fr 24px;gap:8px;min-height:78px}.service-row small{display:none}.service-row b{font-size:17px}
 .footer{padding:48px 22px 22px}.footer-main{grid-template-columns:58px 1fr;gap:20px}.footer-logo{width:54px}.footer-cta{grid-column:2}
 .closing-section h2{font-size:clamp(54px,13vw,82px)}.sub-hero,.simple-hero,.portfolio-page,.contact-page{width:calc(100% - 40px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.collage-main{translate:0 var(--scroll-shift,0);transition:clip-path .7s,transform .7s,translate .2s linear}.collage-small{translate:0 calc(var(--scroll-shift,0) * -1.4);transition:transform .6s,translate .2s linear}


/* COHESIVE ROUND SYSTEM — consistent photography, rings and buttons */
:root{--paper:#f4f1ea;--ink:#191b18;--rust:#d9573d;--line:#b8b8ae;--accent-line:rgba(25,27,24,.34)}
/* Remove the previous angular masks: one recurring circular language instead. */
.collage-main,.collage-small,.feature-image,.sub-hero-image,.about-visual,.work-card,.portfolio-item,.portfolio-item.large{
 clip-path:none!important;border-radius:50%;overflow:hidden;position:relative
}
.collage-main{inset:0 8% 8% 10%;width:82%;height:88%;border:1px solid var(--accent-line);padding:13px;background:transparent;transform:none}
.collage-main img{border-radius:50%;object-fit:cover}
.collage-main:after,.feature-image:after,.sub-hero-image:after,.work-card:after{
 content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.75);border-radius:50%;pointer-events:none
}
.collage-small{border:1px solid var(--ink);padding:8px;background:var(--paper);transform:none}
.collage-small img{border-radius:50%}
.collage-stamp{width:142px;height:142px;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transform:none;box-shadow:none}
.collage-stamp b{font-family:Manrope;font-size:36px;letter-spacing:-.12em;line-height:1;color:var(--rust)}
.collage-stamp i{font-style:normal;font-size:7px;line-height:1.5;letter-spacing:.12em;text-align:center;max-width:100px}
.hero-collage:before{content:"";position:absolute;width:110%;height:110%;left:-5%;top:-5%;border:1px solid var(--accent-line);border-radius:50%;pointer-events:none;transform:scale(.98)}
.feature-image{padding:12px;border:1px solid var(--accent-line);background:transparent;height:clamp(420px,45vw,610px);aspect-ratio:1/1}
.feature-image img{border-radius:50%;object-fit:cover}
.feature-photo .feature-image{order:0}
.feature-image:after{inset:21px;border-color:rgba(255,255,255,.85)}
.sub-hero-image{padding:12px;border:1px solid var(--accent-line);height:clamp(380px,43vw,590px);aspect-ratio:1/1}
.sub-hero-image img{border-radius:50%}
.sub-hero-image figcaption{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);background:var(--paper);color:var(--ink);padding:9px 15px;border-radius:30px;white-space:nowrap;font-size:8px;letter-spacing:.13em}
.about-visual-type{aspect-ratio:1/1;height:auto;max-width:560px;background:#e7e2d8;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;overflow:hidden}
.about-visual-type:before,.about-visual-type:after{content:"";position:absolute;border:1px solid rgba(25,27,24,.35);border-radius:50%;inset:8%;pointer-events:none}
.about-visual-type:after{inset:17%}
.about-visual-type strong{font-family:Manrope;font-size:clamp(120px,20vw,250px);letter-spacing:-.14em;line-height:.8;color:var(--rust);z-index:1}
.about-visual-type small{font-size:9px;letter-spacing:.2em;line-height:1.8;text-align:center;z-index:1}
.work-card,.portfolio-item,.portfolio-item.large{border:1px solid var(--accent-line);padding:10px;background:transparent;aspect-ratio:1/1;min-height:0}
.work-card img,.portfolio-item img{border-radius:50%;object-fit:cover}
.work-card:after{inset:18px}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:34px}
.work-card.work-wide{grid-column:span 1;grid-row:span 1}
.work-card b{left:12%;bottom:14%;background:var(--paper);color:var(--ink);padding:10px 15px;border-radius:30px;font-size:13px}
.work-card span{left:14%;bottom:9%;color:var(--ink);font-size:8px}
.btn,.nav-button,.footer-cta,.text-link{border-radius:0}
.btn{min-height:50px;padding:16px 22px;display:inline-flex;align-items:center;justify-content:center;gap:14px;line-height:1.2;white-space:nowrap}
.btn span{margin:0;color:var(--rust);font-size:17px}
.btn-dark,.btn-light,.btn-outline{border:1px solid var(--ink);transition:background .25s,color .25s,border-color .25s}
.btn-dark:hover,.btn-outline:hover{background:var(--rust);border-color:var(--rust);color:#fff}
.btn-dark:hover span,.btn-outline:hover span{color:#fff}
.nav-button{border-radius:0}
.footer-logo img{max-height:75px;object-fit:contain}
.site-header:after{content:"";position:absolute;right:5vw;bottom:-5px;width:44px;height:9px;border:1px solid var(--accent-line);border-radius:50%;background:var(--paper)}
.eyebrow:before{content:"";display:inline-block;width:22px;height:1px;background:var(--rust);vertical-align:middle;margin-right:10px}
.closing-section:after{content:"";font-size:0;width:48vw;height:48vw;border:1px solid rgba(244,241,234,.12);border-radius:50%;right:-10vw;bottom:-22vw}
.closing-section:before{content:"";position:absolute;width:35vw;height:35vw;border:1px solid rgba(244,241,234,.12);border-radius:50%;right:-3vw;bottom:-15vw}
@media(max-width:760px){
 .hero-collage{height:100vw;min-height:340px}
 .collage-main{inset:0 7% 8% 7%;width:86%;height:86%;padding:8px}
 .collage-small{width:38%;height:auto;aspect-ratio:1/1;padding:6px}
 .collage-stamp{width:98px;height:98px;left:0;top:9%}
 .collage-stamp b{font-size:27px}.collage-stamp i{font-size:6px;max-width:75px}
 .feature-image{height:auto;aspect-ratio:1/1;max-height:none;padding:8px}
 .sub-hero-image{height:auto;min-height:0;aspect-ratio:1/1;padding:8px}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:14px}
 .work-card,.portfolio-item,.portfolio-item.large{min-height:0;aspect-ratio:1/1;padding:6px}
 .work-card:after{inset:12px}
 .about-visual-type{height:auto;aspect-ratio:1/1}
}

.about-note-type{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;aspect-ratio:1/1;min-height:360px;background:#e7e2d8;border:1px solid var(--ink);border-radius:50%;overflow:hidden}
.about-note-type:before,.about-note-orbit{content:"";position:absolute;inset:8%;border:1px solid rgba(25,27,24,.35);border-radius:50%}
.about-note-orbit{inset:17%}
.about-note-type strong{font-family:Manrope;font-size:clamp(120px,18vw,220px);letter-spacing:-.14em;line-height:.8;color:var(--rust);z-index:1}
.about-note-type small{font-size:8px;letter-spacing:.18em;z-index:1}


/* FINAL ART DIRECTION: PETROL / CIRCULAR GRID / QUIET PHOTOGRAPHY */
:root{--rust:#176b68;--petrol:#176b68;--paper:#f2eee6;--ink:#182321;--line:#c8c5bb;--muted:#68716d;--accent-line:rgba(23,107,104,.34)}
body{background:var(--paper);color:var(--ink)}
.btn-dark{background:var(--petrol);border-color:var(--petrol);color:#fff}
.btn-dark:hover,.btn-outline:hover{background:#104e4c;border-color:#104e4c;color:#fff}
.nav-button:hover{background:var(--petrol);border-color:var(--petrol)}
.nav-button,.btn,.btn-outline,.btn-light{border-radius:0!important;box-shadow:none!important}
.collage-stamp{display:none!important}
.hero-collage{height:min(66vw,690px);min-height:520px}
.collage-main{inset:0 8% 8% 8%;width:84%;height:88%;padding:13px;border:1px solid rgba(23,107,104,.45);border-radius:50%;transform:none}
.collage-small{right:0;bottom:0;width:35%;height:auto;aspect-ratio:1;border-radius:50%;padding:8px;border:1px solid rgba(23,107,104,.45)}
.collage-main figcaption,.collage-small figcaption{display:none!important}
.collage-main:after,.collage-small:after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.8);border-radius:50%;pointer-events:none}
.hero-collage:before{width:106%;height:106%;left:-3%;top:-3%;border-color:rgba(23,107,104,.3)}
.feature-image,.sub-hero-image{border-color:rgba(23,107,104,.45);padding:10px}
.feature-image:after,.sub-hero-image:after{border-color:rgba(255,255,255,.82)}
.sub-hero-image figcaption{display:none!important}
.portfolio-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.portfolio-item,.portfolio-item.large{min-height:0!important;aspect-ratio:1/1!important;grid-row:auto!important;border:1px solid rgba(23,107,104,.42)!important;border-radius:50%!important;padding:10px!important;background:transparent!important;overflow:hidden}
.portfolio-item img{width:100%;height:100%;border-radius:50%!important;object-fit:cover}
.portfolio-item:after,.portfolio-item div{display:none!important}
.portfolio-item:nth-child(3n+2){margin-top:70px}
.portfolio-item:nth-child(3n){margin-top:18px}
.portfolio-item:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.85);border-radius:50%;z-index:1;pointer-events:none}
.portfolio-item:hover img{transform:scale(1.06)}
.work-grid{gap:30px}
.work-card{border-color:rgba(23,107,104,.4)}
.work-card:after{border-color:rgba(255,255,255,.8)}
.about-note-type,.about-visual-type{background:#e4e7df;border-color:var(--petrol)}
.about-note-type strong,.about-visual-type strong{color:var(--petrol)}
.about-note-type:before,.about-note-orbit,.about-visual-type:before,.about-visual-type:after{border-color:rgba(23,107,104,.4)}
.eyebrow:before{background:var(--petrol)}
.ticker{background:var(--petrol)}
.closing-section{background:#172b29}
.closing-section h2 em{color:#78aaa4}
.closing-section:before,.closing-section:after{border-color:rgba(120,170,164,.24)}
.whatsapp{background:var(--petrol)}
/* Fine circular background motif, animated in response to page scroll */
.scroll-orbits{position:fixed;z-index:-1;pointer-events:none;inset:0;overflow:hidden;opacity:.6}
.scroll-orbits span{position:absolute;display:block;border:1px solid rgba(23,107,104,.22);border-radius:50%;will-change:transform}
.scroll-orbits span:nth-child(1){width:54vw;height:54vw;right:-19vw;top:8vh}
.scroll-orbits span:nth-child(2){width:38vw;height:38vw;right:-11vw;top:16vh}
.scroll-orbits span:nth-child(3){width:24vw;height:24vw;left:-12vw;top:58vh}
.scroll-orbits span:nth-child(4){width:16vw;height:16vw;left:-8vw;top:63vh}
@media(max-width:760px){
 .hero-collage{height:105vw;min-height:350px}
 .collage-main{inset:0 7% 8% 7%;width:86%;height:86%;padding:8px}
 .collage-small{width:38%;height:auto;aspect-ratio:1;padding:6px}
 .portfolio-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .portfolio-item:nth-child(3n+2),.portfolio-item:nth-child(3n){margin-top:0}
 .portfolio-item:nth-child(even){margin-top:28px}
 .scroll-orbits span:nth-child(1){width:80vw;height:80vw;right:-40vw}
 .scroll-orbits span:nth-child(2){width:58vw;height:58vw;right:-29vw}
 .scroll-orbits span:nth-child(3){width:42vw;height:42vw;left:-26vw}
 .scroll-orbits span:nth-child(4){width:28vw;height:28vw;left:-18vw}
}


/* PORTFOLIO GRID REPAIR — circles only, no rectangular cards or panels */
.portfolio-mosaic{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:34px 26px!important;
 align-items:start!important;
 justify-items:center!important;
 width:100%!important;
}
.portfolio-mosaic .portfolio-item,
.portfolio-mosaic .portfolio-item.large{
 display:block!important;
 position:relative!important;
 width:min(100%,300px)!important;
 max-width:300px!important;
 min-width:0!important;
 min-height:0!important;
 height:auto!important;
 aspect-ratio:1/1!important;
 grid-column:auto!important;
 grid-row:auto!important;
 margin:0!important;
 padding:0!important;
 overflow:hidden!important;
 border:0!important;
 border-radius:50%!important;
 outline:1px solid rgba(23,107,104,.45)!important;
 outline-offset:7px!important;
 background:transparent!important;
 box-shadow:none!important;
}
.portfolio-mosaic .portfolio-item:nth-child(n){margin-top:0!important}
.portfolio-mosaic .portfolio-item img{
 display:block!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 border:0!important;
 border-radius:50%!important;
 object-fit:cover!important;
}
.portfolio-mosaic .portfolio-item:before,
.portfolio-mosaic .portfolio-item:after{
 content:none!important;
 display:none!important;
}
.portfolio-mosaic .portfolio-item>div{display:none!important}
.portfolio-mosaic .portfolio-item img{transition:transform .8s ease}
.portfolio-mosaic .portfolio-item:hover img{transform:scale(1.045)}
/* Remove any card backgrounds and rectangular outlines behind the round image grid. */
.portfolio-page,.portfolio-page .portfolio-mosaic,
.portfolio-page .portfolio-grid-wrap{
 background:transparent!important;
 border:0!important;
 box-shadow:none!important;
}
@media(max-width:1050px){
 .portfolio-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px 24px!important}
 .portfolio-mosaic .portfolio-item,.portfolio-mosaic .portfolio-item.large{width:min(100%,270px)!important;max-width:270px!important}
}
@media(max-width:680px){
 .portfolio-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 18px!important}
 .portfolio-mosaic .portfolio-item,.portfolio-mosaic .portfolio-item.large{width:min(100%,220px)!important;max-width:220px!important;outline-offset:5px!important}
}


/* PERSONAL INTRO — photography-led, quiet and balanced */
.about-note-type{display:none!important}
.about-note-photo{
 position:relative!important;
 width:min(100%,470px)!important;
 aspect-ratio:1/1!important;
 min-height:0!important;
 margin-inline:auto!important;
 border:0!important;
 border-radius:50%!important;
 overflow:visible!important;
 background:transparent!important;
}
.about-note-photo img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;border-radius:50%!important;
}
.about-note-photo:before{
 content:"";position:absolute;inset:-13px;border:1px solid rgba(23,107,104,.45);
 border-radius:50%;pointer-events:none;
}
.about-note-photo .about-photo-ring{
 position:absolute;inset:12px;border:1px solid rgba(255,255,255,.8);
 border-radius:50%;pointer-events:none;
}
.about-note-photo small{
 position:absolute;bottom:7%;left:50%;transform:translateX(-50%);
 padding:10px 16px;background:var(--paper);color:var(--ink);
 border:1px solid rgba(23,107,104,.35);border-radius:30px;
 font-size:8px;letter-spacing:.15em;white-space:nowrap;
}
.about-copy h2{
 font-family:Manrope,sans-serif!important;
 font-size:clamp(48px,5.5vw,78px)!important;
 line-height:.98!important;letter-spacing:-.065em!important;
 font-weight:700!important;
}
.about-copy h2 em{
 color:var(--petrol)!important;font-family:'Playfair Display',serif!important;
 font-weight:400!important;
}
.about-copy p{max-width:560px;line-height:1.85;color:#555f5b}
.about-teaser{align-items:center!important;gap:clamp(50px,8vw,120px)!important}
@media(max-width:760px){
 .about-note-photo{width:min(78vw,360px)!important}
 .about-copy h2{font-size:clamp(42px,11vw,60px)!important}
}


/* FIX: truck / vehicle photo stays perfectly circular at every viewport size */
figure.sub-hero-image,
.hero-collage .collage-main,
.portfolio-mosaic .portfolio-item{
  position:relative!important;
  display:block!important;
  width:min(100%, 520px)!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  overflow:hidden!important;
  padding:0!important;
  flex:none!important;
}
figure.sub-hero-image{
  width:min(100%, 520px)!important;
  justify-self:center!important;
  border:1px solid rgba(23,107,104,.45)!important;
  outline:1px solid rgba(23,107,104,.18)!important;
  outline-offset:8px!important;
}
figure.sub-hero-image img,
.hero-collage .collage-main img,
.portfolio-mosaic .portfolio-item img{
  position:absolute!important;
  display:block!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
}
figure.sub-hero-image:before,
figure.sub-hero-image:after{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  display:block!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:2!important;
}
figure.sub-hero-image figcaption{display:none!important}
@media(max-width:760px){
 figure.sub-hero-image{width:min(82vw,420px)!important}
}

/* Local SEO supporting line and readable service page hierarchy */
.hero-seo-line{font-size:12px;line-height:1.6;color:var(--muted);max-width:430px;margin-top:22px;letter-spacing:.015em}
.detail-body h2{font-family:Manrope,sans-serif;font-size:clamp(24px,3vw,34px);line-height:1.1;letter-spacing:-.04em;margin:38px 0 14px;color:var(--ink)}
.detail-body ul{padding-left:1.2em;line-height:1.8;margin:12px 0 28px}
.detail-body li{padding-left:5px;margin:7px 0}
.detail-body strong{color:var(--ink)}


/* MOBILE HERO: Vlotweg truck image must remain a true square clipped to a circle */
@media (max-width:760px){
  .hero-collage{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    width:100%!important;
    margin:0 auto 65px!important;
  }
  .hero-collage .collage-main{
    position:absolute!important;
    inset:0 auto auto 50%!important;
    width:min(82vw,520px)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    min-height:0!important;
    max-height:none!important;
    padding:10px!important;
    border-radius:50%!important;
    overflow:hidden!important;
    clip-path:circle(50% at 50% 50%)!important;
    transform:translateX(-50%)!important;
    box-sizing:border-box!important;
  }
  .hero-collage .collage-main img{
    position:absolute!important;
    inset:10px!important;
    width:calc(100% - 20px)!important;
    height:calc(100% - 20px)!important;
    border-radius:50%!important;
    clip-path:circle(50% at 50% 50%)!important;
    object-fit:cover!important;
  }
}

/* Typografie verfijnd: rustiger, kleiner en minder dominant */
@media (min-width:761px){
  .hero-copy h1{font-size:clamp(58px,6.6vw,100px)!important;line-height:.94!important;letter-spacing:-.075em!important;font-weight:600!important;margin-bottom:26px!important}
  .hero-copy h1 em{font-size:1em!important;transform:none!important;margin-left:0!important}
  .closing-section h2{font-size:clamp(48px,5.2vw,76px)!important;line-height:1.02!important;letter-spacing:-.055em!important;font-weight:500!important}
  .intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2{font-size:clamp(42px,4.5vw,68px)!important;line-height:1.04!important;letter-spacing:-.055em!important;font-weight:600!important}
  .about-story h2,.simple-hero h1,.sub-hero h1{font-size:clamp(46px,5.2vw,76px)!important;line-height:1.02!important;letter-spacing:-.06em!important;font-weight:600!important}
  .service-related h2{font-size:clamp(38px,4vw,58px)!important}
}
@media (max-width:760px){
  .hero-copy h1{font-size:clamp(48px,12vw,76px)!important;line-height:.98!important;letter-spacing:-.065em!important;font-weight:600!important}
  .hero-copy h1 em{font-size:1em!important;transform:none!important}
  .closing-section h2{font-size:clamp(40px,9vw,58px)!important;line-height:1.04!important;letter-spacing:-.05em!important}
  .intro-grid h2,.section-heading h2,.feature-copy h2,.detail-heading h2,.about-copy h2,.about-story h2{font-size:clamp(36px,8.5vw,52px)!important;line-height:1.06!important;letter-spacing:-.05em!important}
  .simple-hero h1,.sub-hero h1{font-size:clamp(42px,10vw,64px)!important;line-height:1.02!important;letter-spacing:-.055em!important}
}
/* Decoratieve KF-orbitbadge verwijderd: de cirkellijnen blijven rustig op de achtergrond */
.closing-orbit{display:none!important}


/* FINAL ROUND IMAGE SYSTEM: remove leftover polygon/rounded-rectangle masks */
.hero-collage .collage-main,
.hero-collage .collage-small,
.feature-image,
.sub-hero-image,
.about-visual,
.about-note img,
.about-visual img {
  border-radius: 50% !important;
  clip-path: circle(50% at 50% 50%) !important;
  overflow: hidden !important;
}
.hero-collage .collage-main {
  aspect-ratio: 1 / 1 !important;
  width: min(82%, 690px) !important;
  height: auto !important;
  inset: 0 8% auto 10% !important;
  transform: none !important;
}
.hero-collage .collage-main img,
.feature-image img,
.sub-hero-image img,
.about-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
.hero-collage .collage-small {
  aspect-ratio: 1 / 1 !important;
  width: 38% !important;
  height: auto !important;
  border: 8px solid var(--paper) !important;
  transform: none !important;
}
.feature-image {
  width: min(100%, 680px) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  position: relative !important;
}
.feature-photo .feature-image { border-radius: 50% !important; }
@media (max-width:760px) {
  .hero-collage { height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important; margin: 0 auto 55px !important; }
  .hero-collage .collage-main { width: 82% !important; height: auto !important; aspect-ratio: 1 / 1 !important; inset: 0 9% auto 9% !important; }
  .hero-collage .collage-small { width: 40% !important; height: auto !important; aspect-ratio: 1 / 1 !important; bottom: 0 !important; }
  .feature-image { width: min(100%, 500px) !important; height: auto !important; aspect-ratio: 1 / 1 !important; max-height: none !important; margin-inline: auto !important; }
  .sub-hero-image, .about-visual { width: min(100%, 500px) !important; height: auto !important; aspect-ratio: 1 / 1 !important; margin-inline: auto !important; }
}


/* Regional service links: discreet internal navigation for visitors and search engines */
.footer-regions{max-width:var(--wrap,1200px);margin:0 auto;padding:0 5vw 28px;color:inherit}
.footer-regions .eyebrow{display:block;margin-bottom:10px}
.footer-regions p{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0}
.footer-regions a{color:inherit;text-decoration:none;opacity:.72;font-size:.82rem;transition:opacity .2s ease}
.footer-regions a:hover{opacity:1}


/* FINAL RESPONSIVE CIRCLE GEOMETRY — desktop, tablet and mobile */
.hero-collage{
  height:auto!important;
  aspect-ratio:1/1!important;
  width:100%!important;
  max-width:650px!important;
  margin-inline:auto!important;
  isolation:isolate;
}
.hero-collage:before{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  left:0!important;
  top:0!important;
  transform:none!important;
  border-radius:50%!important;
}
.hero-collage .collage-main{
  width:76%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  right:2%!important;
  top:2%!important;
  left:auto!important;
  bottom:auto!important;
  border:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  clip-path:circle(50% at 50% 50%)!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.hero-collage .collage-small{
  width:39%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  left:0!important;
  bottom:1%!important;
  top:auto!important;
  border:8px solid var(--paper)!important;
  border-radius:50%!important;
  overflow:hidden!important;
  clip-path:circle(50% at 50% 50%)!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.hero-collage .collage-main img,
.hero-collage .collage-small img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
}
.hero-collage figcaption{display:none!important}

/* Feature photographs must use a square circular frame at every breakpoint.
   This removes the old oval heights and partial arch masks. */
.feature-image,
.feature-photo .feature-image,
.sub-hero-image{
  width:min(100%,560px)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  max-height:none!important;
  padding:10px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  clip-path:circle(50% at 50% 50%)!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.feature-image img,
.sub-hero-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
}
.feature-image:after,
.sub-hero-image:after{
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
}
.feature-image .image-index{display:none!important}

/* Keep the orbit decoration circular and away from copy; no oversized ellipses. */
.hero-collage:after{display:none!important}
.hero-collage .collage-stamp{display:none!important}
.feature-image:before,
.sub-hero-image:before{border-radius:50%!important}

/* Tablet: preserve a balanced two-column composition without stretching media. */
@media (min-width:761px) and (max-width:1100px){
  .hero-collage{max-width:500px!important}
  .feature-image,.feature-photo .feature-image,.sub-hero-image{width:min(100%,440px)!important}
  .feature,.feature-photo{align-items:center!important;gap:36px!important}
}
@media (max-width:760px){
  .hero-collage{width:min(100%,520px)!important;margin:0 auto 28px!important}
  .hero-collage .collage-main{width:76%!important}
  .hero-collage .collage-small{width:39%!important;border-width:7px!important}
  .feature-image,.feature-photo .feature-image,.sub-hero-image{width:min(100%,520px)!important;margin-inline:auto!important}
}
