:root{--paper:#ffffff;--ink:#353b32;--green:#264e36;--sage:#5c795e;--stone:#7d7465;--muted:#696c61;--line:#d9d9ce;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--sage);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #d7d6ce;outline-offset:4px}::selection{color:white;background:var(--sage)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.09}h2{font-size:clamp(36px,4.3vw,65px)}em{font-weight:400;color:var(--sage)}main h1 em,main h2 em{color:var(--stone)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:35px;background:var(--paper);position:relative;z-index:10}.brand{display:inline-flex;flex-direction:column;line-height:1;color:var(--green)}.brand>span{font-family:'Segoe UI Light','Segoe UI',sans-serif;font-weight:300;letter-spacing:.025em;font-size:49px}.brand-dot{color:var(--stone)}.brand small{font-size:7px;letter-spacing:.28em;margin:7px 0 0;text-align:center}.header nav{display:flex;gap:36px;font-size:12px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--green);transition:width .2s}.header nav a:hover:after{width:100%}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);min-height:655px;padding:20px 20px 20px 5%;gap:40px;overflow:hidden}.hero-copy{align-self:center;max-width:610px;padding:32px 0 15px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.17em;display:flex;align-items:center;gap:12px;line-height:1.6}.tiny-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--sage)}h1{font-size:clamp(43px,4.8vw,75px);margin:29px 0 24px;line-height:1.08}.hero-bio{font-size:12px;line-height:1.85;max-width:430px;color:var(--muted);margin:0 0 25px}.hero-bio strong{font-weight:600;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;border:1px solid transparent;font-size:12px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s;min-height:54px}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.primary{background:var(--green);color:var(--paper)}.primary:hover{background:#3b6046}.hero-secondary{display:flex!important;width:max-content;margin-top:20px;font-size:11px!important}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;font-size:12px;border-bottom:1px solid #b6b9aa;padding-bottom:6px;line-height:1.5}.text-link:hover{color:var(--sage);border-color:var(--sage)}.text-link span{font-size:19px}.hero-visual{position:relative;min-height:615px;margin-left:-20px}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:53% center}.hero-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(18,27,19,.65));pointer-events:none}.principles{padding:24px 12%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:italic 19px var(--serif);color:var(--stone);gap:15px}.principles i{font-size:16px;color:var(--sage);font-style:normal}.section{padding:100px 7%;scroll-margin-top:20px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-note{font-size:10px;color:var(--muted)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:25px}.section-heading>p{color:var(--muted);font-size:12px;line-height:1.9;margin-bottom:5px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:42px 0 31px}.filter{border:1px solid var(--line);color:var(--muted);background:transparent;font-size:10px;line-height:1.5;padding:10px 18px;border-radius:30px;transition:background .2s}.filter sup{font-size:8px;margin-left:10px}.filter.active,.filter:hover{background:var(--green);border-color:var(--green);color:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project-card{min-width:0}.project-card[hidden]{display:none}.project-open{display:block;width:100%;padding:0;border:0;text-align:left;background:none;color:var(--ink)}.project-image{position:relative;overflow:hidden;aspect-ratio:1.3;background:#dfddd4}.project-image img{width:100%;height:100%;transition:transform .7s;object-position:center 55%}.project-open:hover img{transform:scale(1.045)}.project-index{position:absolute;top:16px;left:16px;color:white;background:#252e2488;backdrop-filter:blur(8px);padding:5px 9px;font-size:8px;letter-spacing:.1em}.project-arrow{position:absolute;bottom:17px;right:17px;display:grid;place-items:center;background:var(--paper);width:40px;height:40px;border-radius:50%;font-size:24px;transition:background .2s}.project-open:hover .project-arrow{color:white;background:var(--green)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:17px 0 7px}.project-meta h3{font:400 26px var(--serif);letter-spacing:-.025em}.project-meta>span{font-size:8px;color:var(--stone);letter-spacing:.1em;text-transform:uppercase}.project-card>p{font-size:11px;color:var(--muted);max-width:90%;line-height:1.8}.portfolio-note{font-size:10px;color:var(--muted);margin-top:35px}.portfolio-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.portfolio-bottom>p{font:italic 23px var(--serif)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--paper);align-items:center;padding-top:85px;padding-bottom:85px}.about-image{position:relative;min-height:640px;height:100%}.about-image>img{width:100%;height:100%;position:absolute;inset:0}.about-stamp{position:absolute;bottom:30px;left:30px;right:30px;display:flex;flex-direction:column;align-items:center;background:#ffffffeb;padding:22px 20px;color:var(--green)}.about-stamp>span{font:42px var(--serif);letter-spacing:.13em}.about-stamp small{font-size:9px;letter-spacing:.08em}.about-copy h2{margin:24px 0}.about-copy .large-text{font:23px/1.45 var(--serif);color:var(--ink);margin-bottom:22px;letter-spacing:-.02em}.about-copy>p:not(.eyebrow):not(.large-text){font-size:12px;color:var(--muted);margin-bottom:18px;line-height:1.9}.services h2{margin-top:25px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;gap:40px}.services-grid article{border-top:1px solid #b9bcae;padding-top:20px;display:flex;flex-direction:column;align-items:flex-start}.service-number{font-size:11px;color:var(--stone);margin-bottom:25px}.services h3{font:25px var(--serif);letter-spacing:-.025em;margin-bottom:16px}.services article p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:24px}.services article .text-link{margin-top:auto;font-size:10px;width:100%;gap:10px}.process{background:#e6e8df;display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.process h2{font-size:clamp(34px,3.6vw,55px);margin:25px 0 30px}.outlined{border-color:#a4ae9b;font-size:11px}.outlined:hover{background:var(--green);color:white}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:27px;padding:25px 0;border-top:1px solid #b9c1af}.steps li:last-child{padding-bottom:0}.steps li>span{font:italic 21px var(--serif);color:var(--sage)}.steps h3{font:24px var(--serif);margin:0 0 9px;letter-spacing:-.025em}.steps p{font-size:12px;color:var(--muted);line-height:1.8}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq h2{margin-top:24px;font-size:clamp(34px,3.5vw,52px)}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;list-style:none;cursor:pointer;font-size:12px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;font-weight:300}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;color:var(--muted);padding:0 30px 22px 0;line-height:1.9}.contact{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:85px;padding-bottom:85px}.contact .tiny-dot{background:#c8d3b4}.contact h2{margin-top:32px;font-size:clamp(40px,4.5vw,68px)}.contact h2 em{color:#b7ae9f}.contact-copy>p:not(.eyebrow){font-size:13px;color:#d5dcd0;margin-top:26px}.contact-phone{display:flex;justify-content:space-between;max-width:305px;font:29px var(--serif);padding-bottom:15px;border-bottom:1px solid #ffffff55;margin-top:45px}.contact-phone:hover{color:#d1dab9}.contact-copy>small{display:block;font-size:9px;color:#c9d2c2;margin-top:13px}.instagram-link{display:inline-block;margin-top:40px;font-size:10px;border-bottom:1px solid #ffffff55;padding-bottom:5px}.instagram-link span{margin-left:25px}.form-title{font:26px var(--serif);margin-bottom:28px;letter-spacing:-.02em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:flex;flex-direction:column;font-size:10px;letter-spacing:.01em;color:#e2e8dc;position:relative;margin-bottom:21px}form label>span{position:absolute;top:0;right:0}input,select,textarea{background:transparent;border:0;border-bottom:1px solid #ffffff59;color:var(--paper);padding:11px 0;font-size:12px;width:100%;border-radius:0;min-height:44px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#c3cebd;opacity:1}select option{background:var(--green);color:var(--paper)}.light{background:var(--paper);color:var(--green);width:100%;margin-top:3px;border:0}.light:hover{background:#d7dfcb}.form-note{font-size:9px;line-height:1.8;color:#cbd5c3;margin-top:15px;max-width:390px}.footer{padding:55px 7% 25px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer .brand>span{font-size:49px}.footer>div>p{font-size:10px;color:var(--muted);margin-top:20px}.footer-links{display:flex;justify-content:flex-end;align-items:center;gap:25px;font-size:10px;flex-wrap:wrap}.footer-links button{border:0;background:none;padding:0;color:inherit;font-size:10px}.footer-links a:hover,.footer-links button:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.03em;color:var(--muted)}.floating-whatsapp{position:fixed;bottom:24px;right:24px;z-index:15;display:flex;align-items:center;gap:10px;background:var(--green);color:#fff;border:1px solid #ffffff66;border-radius:40px;padding:13px 18px;box-shadow:0 4px 22px #16291c26;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-3px)}.floating-whatsapp svg{width:24px;height:24px}.floating-whatsapp>span{font-size:11px}.project-dialog{border:0;padding:0;width:min(1120px,94vw);max-height:90dvh;background:var(--paper);color:var(--ink);overflow:auto}.project-dialog::backdrop,.privacy-dialog::backdrop{background:#18271dd9;backdrop-filter:blur(5px)}.dialog-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:600px}.dialog-close{position:absolute;top:12px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:28px;line-height:1}.dialog-close:hover{background:#e4e8db}.gallery{position:relative;min-height:620px;background:#e2e3d9}.gallery>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.gallery-controls{position:absolute;bottom:18px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:20px;background:#ffffffe6;padding:7px 15px;margin:auto;width:max-content;border-radius:30px}.gallery-controls button{background:none;border:0;font-size:23px;min-width:32px;color:var(--green)}.gallery-controls #gallery-count{font-size:11px;min-width:35px;text-align:center}.dialog-copy{padding:60px 38px 40px}.dialog-copy h2{font-size:43px;margin:15px 0}.render-label{font-size:8px;letter-spacing:.12em;color:var(--muted);margin-bottom:30px}.dialog-copy h3{font:20px var(--serif);margin:20px 0 8px}.dialog-copy>p:not(.eyebrow):not(.render-label){font-size:12px;line-height:1.9;color:var(--muted)}.dialog-copy .button{margin-top:30px;font-size:10px;gap:16px;padding:15px 17px}.privacy-dialog{border:0;background:var(--paper);color:var(--ink);padding:50px;width:min(590px,92vw);max-height:85dvh}.privacy-dialog h2{font-size:42px;margin:25px 0}.privacy-dialog>p:not(.eyebrow){font-size:12px;margin:18px 0;line-height:1.9}.noscript-note{padding:20px;text-align:center;background:#e6e8df}.noscript-note a{text-decoration:underline}
@media(min-width:1600px){.header,.hero,.principles,.section,.footer{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}.hero{gap:70px}.hero-visual{margin-left:0}.hero-copy{max-width:620px}}
@media(max-width:1100px){.hero{gap:25px;padding-left:5%;min-height:620px;grid-template-columns:minmax(0,49fr) minmax(0,51fr)}h1{font-size:52px}.hero-visual{min-height:620px}.hero-copy{padding-right:15px}.hero-bio{font-size:11px}.hero .button{font-size:10px;gap:20px;padding:15px 18px}.section{padding:75px 6%}.header nav{gap:22px}.about{gap:6%}.about-image{min-height:650px}.contact{gap:8%}.principles{padding-left:6%;padding-right:6%}.services-grid{gap:25px}.services h3{font-size:22px}.dialog-copy{padding:55px 25px 30px}.project-meta h3{font-size:23px}.footer-links{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:83px;padding:0 6%;gap:20px}.brand>span{font-size:42px}.brand small{font-size:5.7px;letter-spacing:.24em;margin-top:5px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:24px;height:35px;padding:0;color:var(--ink)}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0000000a;font-size:14px;gap:25px}.header nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;padding:0;gap:0;min-height:0}.hero-copy{padding:38px 6% 30px;max-width:100%;align-self:stretch}.eyebrow{font-size:8px;letter-spacing:.14em}h1{font-size:clamp(40px,8.5vw,62px);margin:24px 0 20px}.hero-bio{font-size:11px;max-width:500px;margin-bottom:23px}.hero .button{font-size:11px;padding:16px 20px;gap:25px;min-height:52px}.hero-secondary{margin-top:18px}.hero-visual{min-height:420px;height:68vw;max-height:600px;margin:0 13px 13px}.principles{padding:20px 6%;gap:8px;font-size:14px;flex-wrap:wrap}.principles i{font-size:11px}.principles span:last-child,.principles i:nth-last-child(2){display:none}.section{padding:60px 6%}.section-top{align-items:flex-start}.section-note{display:none}.section-heading{display:block;margin-top:22px}.section-heading>p{margin-top:20px;font-size:12px}.section-heading>p br{display:none}h2{font-size:clamp(35px,8vw,49px)}.filter-row{gap:7px;margin:28px 0 25px}.filter{padding:9px 13px;font-size:9px}.filter sup{margin-left:6px}.project-grid{gap:30px 18px;grid-template-columns:1fr}.project-image{aspect-ratio:1.25}.project-meta{margin-top:14px}.project-meta h3{font-size:27px}.project-meta>span{font-size:8px}.project-card>p{font-size:12px}.portfolio-note{font-size:9px;line-height:1.8}.portfolio-bottom{display:block;margin-top:26px;padding-top:22px}.portfolio-bottom>p{font-size:22px;margin-bottom:17px}.about{display:flex;flex-direction:column-reverse;gap:35px}.about-copy h2{margin:22px 0}.about-copy .large-text{font-size:24px}.about-copy>p:not(.eyebrow):not(.large-text){font-size:12px}.about-image{min-height:420px;height:115vw;max-height:600px;width:100%}.about-stamp{left:24px;right:24px;bottom:24px}.services h2{margin-top:22px}.services-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.services-grid article{padding-top:17px}.service-number{margin-bottom:15px}.services h3{font-size:27px}.services article p{max-width:500px;margin-bottom:18px}.services article .text-link{max-width:340px;font-size:11px}.process{grid-template-columns:1fr;gap:38px}.process h2{font-size:clamp(35px,8vw,49px)}.steps li{gap:25px;padding:23px 0}.steps h3{font-size:25px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:clamp(35px,8vw,49px)}.faq summary{font-size:12px;padding:20px 0;gap:20px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:clamp(40px,9.3vw,60px);margin-top:25px}.contact-phone{margin-top:30px;font-size:30px}.instagram-link{margin-top:25px}.form-title{font-size:26px}.contact input,.contact select,.contact textarea{font-size:16px;padding:12px 0}form label{font-size:11px;margin-bottom:24px}.form-row{gap:15px}.form-note{font-size:10px}.footer{padding:45px 6% 85px;grid-template-columns:1fr;gap:25px}.footer-links{justify-content:flex-start;gap:20px;font-size:10px}.footer-bottom{font-size:8px;gap:15px}.floating-whatsapp{bottom:16px;right:16px;padding:12px;gap:0}.floating-whatsapp>span{display:none}.floating-whatsapp svg{width:27px;height:27px}.dialog-layout{grid-template-columns:1fr}.project-dialog{max-height:93dvh;width:94vw}.gallery{min-height:0;height:65vw;max-height:430px}.gallery>img{object-fit:contain}.gallery-controls{bottom:10px;padding:3px 10px;gap:12px}.dialog-copy{padding:28px 25px 32px}.dialog-copy h2{font-size:38px}.dialog-copy .button{width:100%;font-size:10px}.render-label{margin-bottom:22px}.dialog-close{top:8px;right:8px;width:34px;height:34px}.privacy-dialog{padding:45px 25px 25px}.privacy-dialog h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Retrato da fundadora */
.about-portrait>img{object-position:center 40%}.about-portrait .about-stamp>span{font-size:32px;letter-spacing:-.025em}.about-portrait .about-stamp small{font-size:7px;letter-spacing:.1em}.services-grid{row-gap:48px}.services h3{line-height:1.25}
@media(max-width:760px){.about-portrait{min-height:440px;height:128vw}.about-portrait .about-stamp{padding:17px 14px}.about-portrait .about-stamp>span{font-size:29px}}

/* Marca original VERO, no marrom da paleta (#7d7465). */
.brand{color:var(--stone)}.brand .brand-logo{display:block;width:144px;height:auto;object-fit:contain}.brand small{color:var(--stone)}.footer .brand .brand-logo{width:140px}.portfolio>.section-top{justify-content:flex-end}
@media(max-width:760px){.brand .brand-logo{width:112px}.portfolio>.section-top{display:none}.portfolio>.section-heading{margin-top:0}}

.form-error{font-size:12px;color:#fff1cc;margin:12px 0;line-height:1.6}.form-error:empty{display:none}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}

/* Interface técnica de consentimento, sem alterar o layout editorial. */
.cookie-banner[hidden]{display:none!important}.cookie-banner{position:fixed;z-index:30;bottom:18px;left:3%;right:3%;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 30px #18271d26;padding:20px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between}.cookie-title{font:24px var(--serif);color:var(--green);margin-bottom:5px}.cookie-banner p:not(.cookie-title){font-size:11px;max-width:620px;line-height:1.7}.cookie-banner a{text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}.cookie-actions button{font:11px var(--sans);padding:12px 15px;border:1px solid var(--green);color:var(--green);background:var(--paper);min-height:44px}.cookie-actions button:last-child{background:var(--green);color:white}.cookie-dialog{max-width:630px}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.cookie-option p{font-size:11px;line-height:1.8;margin-top:5px}.cookie-option>span{font-size:10px;white-space:nowrap}.cookie-option input{width:20px;height:20px;min-height:20px;flex:none;accent-color:var(--green)}.policy-page{max-width:960px;margin:auto}.policy-page h1{font-size:clamp(40px,6vw,70px)}.policy-page h2{font:30px var(--serif);margin:35px 0 15px}.policy-page p{font-size:14px;margin:15px 0;line-height:1.9}.policy-draft{padding:18px;border:1px solid var(--line)}
@media(max-width:1100px){.cookie-banner{flex-direction:column;align-items:stretch;gap:15px}.cookie-actions{flex-shrink:1}}@media(max-width:760px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:18px}.cookie-title{font-size:22px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cookie-banner .cookie-actions button:last-child{grid-column:1/-1}.cookie-actions button{padding:12px 8px}.cookie-option{gap:15px}}

/* VERO Interiores: typography, reading measure and responsive composition. */
@font-face {
  font-family: Manrope;
  src: url("assets/manrope-latin.8c2def024c1b.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

@font-face {
  font-family: Newsreader;
  src: url("assets/newsreader-latin.725d78a558da.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Newsreader;
  src: url("assets/newsreader-italic-latin.2bf0dbb1a4a0.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  --paper: #fcfbf8;
  --sans: Manrope, "Segoe UI", Arial, sans-serif;
  --serif: Newsreader, Georgia, serif;
  --content-width: 80rem;
  --gutter: clamp(1.25rem, 5.6vw, 1.5rem);
  --page-inset: max(var(--gutter), calc((100% - var(--content-width)) / 2));
  --column-gap: clamp(1.5rem, 3vw, 3rem);
  --section-padding: clamp(1.75rem, 5vw, 2.25rem);
  --heading-size: clamp(1.75rem, 4.4vw, 2.125rem);
  --copy-size: clamp(1rem, 1.8vw, 1.125rem);
}

html { scroll-behavior: auto; scroll-padding-top: 1rem; }
body { font-size: var(--copy-size); line-height: 1.6; }

h1, h2, h3 {
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.14;
  overflow-wrap: break-word;
}

h1 { font-size: clamp(2.25rem, 7vw, 2.75rem); }
h2, .process h2, .faq h2, .contact h2 { font-size: var(--heading-size); }
main h1 em, main h2 em { font-style: normal; font-weight: inherit; }

.hero-bio, .section-heading > p, .project-card > p,
.about-copy > p:not(.eyebrow):not(.large-text), .steps p,
.services article p, .faq details p, .contact-copy > p:not(.eyebrow) {
  font-size: var(--copy-size);
  line-height: 1.6;
  max-width: 62ch;
}

.header, .hero, .section, .footer { padding-inline: var(--page-inset); }
.section { padding-block: var(--section-padding); }
.portfolio {
  padding-block-start: clamp(1.5rem, 3vw, 2.25rem);
  padding-block-end: .75rem;
}
.portfolio + .about { padding-block-start: clamp(1.25rem, 2.5vw, 2rem); }
.header { height: 5.25rem; gap: 1.25rem; }
.header nav { font-size: .875rem; font-weight: 500; }
.header nav a { display: flex; align-items: center; min-height: 3rem; }
.header nav a:after { bottom: .4rem; }

.button, .hero .button, .filter, .floating-whatsapp,
.cookie-actions button, .gallery-controls button, .dialog-close {
  min-height: 3rem;
  border-radius: .1875rem;
}

.button, .hero .button, .filter, .cookie-actions button {
  font-size: .875rem;
  font-weight: 500;
  padding: .625rem 1rem;
}

.button, .filter, .text-link, .floating-whatsapp, .project-arrow {
  transition: background-color 250ms ease, color 250ms ease, border-color 250ms ease;
}

.button:hover, .floating-whatsapp:hover, .project-open:hover img { transform: none; }
.project-image img { transition: none; }

.arrow-icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: .875rem;
  height: .875rem;
  vertical-align: middle;
  transform: rotate(var(--arrow-angle, 0deg));
}
.arrow-icon::before,
.arrow-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  box-sizing: border-box;
}
.arrow-icon::before {
  left: 0;
  right: .125rem;
  border-top: 1.5px solid currentColor;
  transform: translateY(-50%);
}
.arrow-icon::after {
  right: .125rem;
  width: .4375rem;
  height: .4375rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.arrow-up-right { --arrow-angle: -45deg; }
.arrow-up { --arrow-angle: -90deg; }
.arrow-down { --arrow-angle: 90deg; }
.arrow-left { --arrow-angle: 180deg; }

.text-link, .hero .hero-secondary {
  width: fit-content;
  max-width: 100%;
  min-height: 3rem;
  align-items: center;
  font-size: .9375rem !important;
  font-weight: 500;
  padding-block: .5rem;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  gap: 1.5rem;
  padding-block: var(--section-padding);
  padding-block-end: clamp(1rem, 2vw, 1.75rem);
}

.project-showcase {
  margin-inline: var(--page-inset);
  border-block-start: 1px solid var(--line);
  padding-block-start: .75rem;
}
.showcase-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block-end: .75rem;
}
.showcase-header h2 {
  color: var(--muted);
  font-size: .6875rem;
  text-transform: uppercase;
}
.showcase-controls {
  display: flex;
  gap: .375rem;
}
.showcase-controls[hidden] { display: none; }
.showcase-controls button {
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: .1875rem;
  background: var(--paper);
  color: var(--ink);
}
.showcase-controls button:hover {
  border-color: var(--green);
  color: var(--green);
}
.showcase-track {
  --showcase-gap: .75rem;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 70%;
  gap: var(--showcase-gap);
  overflow-x: auto;
  margin: 0;
  padding: 0 0 .375rem;
  list-style: none;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}
.showcase-track:focus-visible { outline: 1px solid var(--sage); }
.showcase-track li {
  min-width: 0;
  scroll-snap-align: start;
}
.showcase-track img {
  inline-size: 100%;
  aspect-ratio: 2 / 1;
}
.showcase-track.is-orbit {
  --side-offset: 66%;
  display: block;
  block-size: clamp(12rem, 54vw, 17rem);
  overflow: hidden;
  padding: 0;
  scroll-snap-type: none;
  touch-action: pan-y;
}
.showcase-track.is-orbit li {
  position: absolute;
  inset: 9% auto auto 50%;
  inline-size: 72%;
  block-size: 84%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(calc(-50% + var(--orbit-x, 0%)))
    translateY(var(--orbit-y, 0%)) scale(var(--orbit-scale, 1));
}
.showcase-track.is-orbit img {
  block-size: 100%;
  aspect-ratio: auto;
}
.showcase-track.is-orbit .showcase-portrait img { inline-size: 64%; }
.showcase-track [data-position="0"] { z-index: 3; }
.showcase-track [data-position="1"],
.showcase-track [data-position="-1"] {
  --orbit-scale: .74;
  --orbit-y: -5%;
  z-index: 2;
}
.showcase-track [data-position="1"] { --orbit-x: var(--side-offset); }
.showcase-track [data-position="-1"] { --orbit-x: calc(-1 * var(--side-offset)); }
.showcase-track [data-position="2"],
.showcase-track [data-position="-2"],
.showcase-track [data-position="3"] {
  --orbit-scale: .62;
  --orbit-y: -22%;
  opacity: .2;
  z-index: 1;
}
.showcase-track [data-position="2"] { --orbit-x: 42%; }
.showcase-track [data-position="-2"] { --orbit-x: -42%; }
.showcase-status {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
  .showcase-track.is-orbit li {
    transition: transform .65s cubic-bezier(.22,.61,.36,1), opacity .4s ease;
  }
}
@media (min-width: 48rem) {
  .showcase-track { grid-auto-columns: calc((100% - 2 * var(--showcase-gap)) / 3); }
  .showcase-track.is-orbit {
    --side-offset: 83%;
    block-size: clamp(16rem, 27vw, 23rem);
  }
  .showcase-track.is-orbit li { inline-size: 43%; }
}
@media (min-width: 70rem) {
  .showcase-track { grid-auto-columns: calc((100% - 3 * var(--showcase-gap)) / 4); }
}

.hero-copy { padding: 0; max-width: none; align-self: center; }
.hero-copy h1 { margin-block: 1rem; }
.hero-bio { margin-bottom: 1.25rem; }
.hero .hero-secondary { margin-top: .5rem; }
.hero-visual { min-height: 0; height: auto; max-height: none; margin: 0; }
.hero-visual:after { content: none; }
.hero-visual > img { position: static; height: auto; aspect-ratio: 4 / 3; }
.hero-caption {
  font: 400 clamp(1.375rem, 3vw, 1.75rem)/1.2 var(--serif);
  margin-top: .75rem;
}

.project-arrow {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: .1875rem;
}

.section-heading, .portfolio > .section-heading {
  display: grid;
  gap: .75rem;
  margin: 0;
}

.section-heading > p { margin: 0; }
.filter-row { margin-block: 1.5rem; }
.filter { border-radius: .1875rem; }
.project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem clamp(.875rem, 2vw, 1.5rem);
}
.project-image { aspect-ratio: 4 / 3; }
.project-arrow {
  inset: auto .5rem .5rem auto;
  width: 2rem;
  height: 2rem;
  font-size: 1.125rem;
}
.project-meta { display: grid; gap: .25rem; margin: .625rem 0 .375rem; }
.project-meta h3, .services h3, .steps h3, .dialog-copy h3 {
  font: 500 clamp(1.125rem, 2vw, 1.5rem)/1.25 var(--sans);
  letter-spacing: -.02em;
}

.project-meta > span { color: var(--muted); font-size: .75rem; }
.project-meta h3 { font-size: clamp(1rem, 1.5vw, 1.25rem); }
.project-card > p { font-size: clamp(.875rem, 1.2vw, 1rem); line-height: 1.5; }
.portfolio-note { font-size: .875rem; }
.portfolio-bottom > p { font: 400 clamp(1.375rem, 3vw, 1.875rem)/1.25 var(--serif); }

.about, .process, .faq, .contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--column-gap);
  align-items: start;
}

.about-copy { grid-row: 1; align-self: center; }
.about-copy h2, .services h2, .process h2, .faq h2 { margin-block: 0 1.25rem; }
.contact h2 { margin-block: 1rem 1.25rem; }
.about-copy .large-text { font: 400 clamp(1.375rem, 3vw, 1.75rem)/1.3 var(--serif); }
.about-portrait { min-height: 0; height: auto; max-height: none; margin: 0; }
.about-portrait > img { position: static; width: 100%; height: auto; }
.about-caption {
  --caption-inset: clamp(.875rem, 2.5vw, 1.5rem);
  position: absolute;
  inset-inline: var(--caption-inset);
  inset-block-end: var(--caption-inset);
  width: fit-content;
  max-width: calc(100% - 2 * var(--caption-inset));
  margin-inline: auto;
  padding: .375rem .75rem;
  background: rgb(38 78 54 / 84%);
  color: #fff;
  font-size: clamp(.6875rem, 1vw, .75rem);
  line-height: 1.4;
  text-align: center;
}
.about-caption strong {
  font-weight: 600;
}
.steps li { gap: 1.25rem; }
.steps li > span { font: 500 .875rem/1.6 var(--sans); color: var(--green); }

.services-grid {
  display: block;
  margin-top: 1.5rem;
}

.services-grid article { display: block; padding-block: 1rem; }
.services h3 { margin-bottom: .625rem; }
.services article p { margin-bottom: .25rem; }
.services article .text-link { width: fit-content; max-width: 100%; }
.service-number { display: none; }
.faq summary { font-size: 1rem; font-weight: 500; min-height: 3rem; }
.contact-phone { font: 500 clamp(1.25rem, 3.5vw, 1.75rem)/1.3 var(--sans); min-height: 3rem; }
.contact-copy > small, .form-note { font-size: .875rem; }
.contact input, .contact select, .contact textarea { font-size: 1rem; min-height: 3rem; }
form label, .instagram-link { font-size: .875rem; }
.form-title { font: 500 clamp(1.25rem, 2.5vw, 1.625rem)/1.25 var(--sans); }
.form-row > label { min-width: 0; }
.footer { padding-block: 2rem 4.5rem; }
.footer > div > p, .footer-links, .footer-links button, .footer-bottom { font-size: .875rem; }
.footer-links a, .footer-links button { display: inline-flex; align-items: center; min-height: 3rem; }
.footer-links a { gap: .375rem; }
.floating-whatsapp { box-shadow: none; }
.floating-whatsapp > span { font-size: .875rem; font-weight: 500; }
.dialog-copy h2, .privacy-dialog h2 { font-size: var(--heading-size); }
.dialog-copy > p:not(.eyebrow):not(.render-label), .privacy-dialog > p:not(.eyebrow), .policy-page p {
  font-size: var(--copy-size);
  line-height: 1.6;
}
.policy-page h2 { font: 500 var(--heading-size)/1.2 var(--sans); }
.cookie-banner p:not(.cookie-title), .cookie-option p { font-size: .875rem; }
.dialog-close { width: 3rem; }

@media (min-width: 901px) {
  :root {
    --gutter: clamp(3rem, 5.56vw, 5rem);
    --section-padding: clamp(3rem, 4.5vw, 4rem);
    --heading-size: clamp(2rem, 3.05vw, 2.75rem);
    --copy-size: clamp(1.0625rem, 1.25vw, 1.125rem);
  }

  h1 { font-size: clamp(3.5rem, 5vw, 4.5rem); }
  .hero, .about, .process, .faq, .contact, .section-heading {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: clamp(1rem, 2vw, 1.75rem);
  }

  .hero-visual { grid-area: 1 / 1 / 2 / span 7; }
  .hero-copy {
    grid-area: 1 / 8 / 2 / -1;
    align-self: start;
  }
  .hero-visual > img { height: clamp(25rem, 38vw, 35rem); aspect-ratio: auto; }
  .section-heading h2 { grid-column: span 7; }
  .section-heading > p { grid-column: span 5; }
  .about-portrait { grid-area: 1 / 1 / 2 / span 5; }
  .about-copy { grid-area: 1 / 7 / 2 / -1; }
  .process-intro, .faq > div:first-child, .contact-copy { grid-column: span 5; }
  .steps, .faq-items, .contact form { grid-column: span 7; }
  .services-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: var(--column-gap);
    padding-block: 1.25rem;
  }

  .services-grid article h3 { grid-column: 1; grid-row: 1 / span 2; }
  .services-grid article p, .services-grid article .text-link { grid-column: 2; }
}

@media (max-width: 900px) {
  .header { gap: .875rem; }
  .header nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: .75rem var(--gutter);
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: none;
    gap: 0;
  }

  .header nav.open { display: flex; flex-direction: column; }
  .menu-toggle {
    display: grid;
    place-content: center;
    gap: .375rem;
    width: 3rem;
    height: 3rem;
    background: transparent;
    border: 0;
  }

  .menu-toggle span { display: block; width: 1.25rem; height: 1px; background: var(--green); }
  .header .brand .brand-logo { width: 7rem; }
  .footer { grid-template-columns: 1fr; gap: 1rem; }
  .footer-links { justify-content: flex-start; gap: .25rem 1rem; }
}

@media (max-width: 360px) {
  .project-grid { grid-template-columns: minmax(0, 1fr); }
  .header { gap: .375rem; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
}

@media (min-width: 48rem) {
  .project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 70rem) {
  .project-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .button, .filter, .text-link, .floating-whatsapp, .project-arrow { transition: none; }
}
