@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#24241f;--muted:#66645e;--cream:#f5f2e9;--white:#fffefa;--yellow:#ffc400;--line:#e6e1d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px;left:10px;background:var(--yellow);padding:12px;z-index:100}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:50;background:rgba(255,254,250,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.brand strong{color:#f3b900;-webkit-text-stroke:.5px var(--ink)}.brand-house{font-size:44px;line-height:30px;transform:translateY(-3px);color:var(--ink)}.nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav>a:not(.nav-cta):hover,.text-link:hover{color:#b38b00}.nav-cta{background:var(--ink);color:white;padding:13px 18px;border-radius:6px}.nav-cta span{color:var(--yellow)}.menu-toggle{display:none}.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:610px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px}.hero-copy{padding:76px 0}.eyebrow{font-size:12px;letter-spacing:2.1px;font-weight:800;color:#937300;margin:0 0 22px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:8px}.hero h1,h2,h3{font-family:Manrope,sans-serif}.hero h1{font-size:clamp(43px,5.1vw,72px);letter-spacing:-3.4px;line-height:1.11;margin:0 0 24px;font-weight:800}.hero h1 span{color:#b58a00}.hero-lead{font-size:19px;line-height:1.7;max-width:530px;color:#57554e}.hero-lead b{color:var(--ink)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;border-radius:6px;padding:16px 23px;font-weight:800;font-size:14px;border:1px solid var(--ink);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.secondary{background:transparent}.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:32px;color:#666258;font-size:13px}.hero-photo{height:530px;position:relative;align-self:center;border-radius:170px 8px 8px 8px;overflow:hidden;box-shadow:0 25px 60px #29271922}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.photo-label{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(255,254,250,.94);padding:16px 20px;border-radius:6px;display:flex;align-items:center;gap:15px;font-size:13px;line-height:1.4}.label-icon{background:var(--yellow);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:23px}.section{padding:105px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-head>p{max-width:365px;color:var(--muted);line-height:1.8;margin:0}.section h2{font-size:clamp(32px,4vw,51px);line-height:1.19;letter-spacing:-2px;margin:0;font-weight:800}.section h2 em{font-style:normal;color:#b58a00}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service{background:#f7f5ee;border:1px solid #eeeadf;border-radius:10px;padding:30px;min-height:210px;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-4px);box-shadow:0 16px 35px #28251a0c}.service-icon{width:49px;height:49px;display:grid;place-items:center;background:#ffdf5c;color:var(--ink);font-size:28px;font-weight:700;border-radius:10px;margin-bottom:21px}.service h3{font-size:17px;line-height:1.4;letter-spacing:-.4px;margin:0 0 10px}.service p{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.about{background:#24241f;color:#fff}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.about-visual{height:530px;overflow:hidden;border-radius:8px}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.about-copy>p:not(.eyebrow){line-height:1.85;color:#d0cec6;font-size:16px}.about h2 em{color:var(--yellow)}.feature{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #4a4941}.feature>span{color:var(--yellow);font-weight:800}.feature b{font-size:16px}.feature p{margin:8px 0 0;color:#c6c3b9;font-size:14px;line-height:1.5}.text-link{display:inline-block;margin-top:25px;color:var(--yellow);font-weight:800}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure{margin:0;position:relative;height:380px;border-radius:9px;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 20px;color:white;font-weight:800;background:linear-gradient(transparent,#0009)}.fineprint{font-size:12px;color:#77736a;line-height:1.5}.contact{background:#fffefa}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.85;color:var(--muted);max-width:460px}.contact-detail{margin-top:24px;font-weight:700;font-size:15px}.contact-card{background:var(--cream);padding:36px;border-radius:12px;border:1px solid var(--line)}.contact-card-top{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#957300}.contact-card h3{font-size:28px;letter-spacing:-1px;margin:12px 0}.contact-card>p{font-size:14px;color:var(--muted);line-height:1.6}.contact-card form{display:grid;gap:10px;margin-top:22px}.contact-card label{font-size:13px;font-weight:800;margin-top:7px}.contact-card input,.contact-card select,.contact-card textarea{width:100%;padding:14px;border:1px solid #d9d4c8;background:white;border-radius:5px;color:var(--ink)}.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{outline:2px solid var(--yellow);outline-offset:1px}.full{width:100%;margin-top:10px}.footer{background:var(--ink);color:#fff;padding:34px 0 20px}.footer .brand-house{color:white}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top>p{color:#c9c7c0;font-size:14px}.footer-top>a:last-child{font-size:13px;color:var(--yellow)}.footer-bottom{border-top:1px solid #4b4943;margin-top:32px;padding-top:18px;color:#a6a49d;font-size:12px}@media(max-width:900px){.nav{gap:16px;font-size:12px}.hero-grid{gap:25px}.hero h1{letter-spacing:-2px}.hero-photo{height:460px}.about-grid,.contact-grid{gap:35px}.section{padding:75px 0}.service{padding:22px}}@media(max-width:700px){.wrap{width:min(100% - 34px,520px)}.header-inner{min-height:68px}.brand{font-size:23px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:12px}.menu-toggle span{width:24px;height:2px;background:var(--ink);display:block}.nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--white);padding:20px 24px 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #0001;flex-direction:column;align-items:stretch;gap:18px;font-size:15px}.nav.open{display:flex}.nav-cta{text-align:center}.hero-grid{display:flex;flex-direction:column;gap:0}.hero-copy{padding:64px 0 34px}.hero h1{font-size:clamp(40px,10vw,56px);letter-spacing:-2.5px}.hero-lead{font-size:16px}.hero-points{gap:10px 18px;font-size:12px}.hero-photo{width:100%;height:410px;border-radius:130px 8px 8px 8px;margin-bottom:30px}.section{padding:68px 0}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px}.section h2{font-size:36px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service{padding:20px 16px;min-height:200px}.service h3{font-size:15px}.service p{font-size:12px}.service-icon{width:43px;height:43px;font-size:25px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-visual{height:340px}.gallery-grid{grid-template-columns:1fr;gap:12px}.gallery figure{height:300px}.contact-card{padding:24px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom{gap:9px}}@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service{min-height:0}.hero-actions .btn{width:100%}.hero-photo{height:350px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Identidade visual alinhada com o folheto CASA 360 */
.brand{display:inline-flex;align-items:center;line-height:1}
.brand-logo{display:block;width:228px;height:auto;max-width:100%;object-fit:contain}
.footer .brand-logo{background:#fffefa;border-radius:4px;padding:5px;width:220px}
.service-icon{background:transparent;width:68px;height:68px;border-radius:0;margin-bottom:14px;display:flex;align-items:center;justify-content:center}
.service-icon img{width:64px;height:64px;object-fit:contain}
@media(max-width:700px){.brand-logo{width:187px}.footer .brand-logo{width:200px}.service-icon{width:59px;height:59px}.service-icon img{width:56px;height:56px}}

/* CASA 360 V3 — identidade visual e formulário */
.brand-logo{display:block;width:190px;max-width:100%;height:auto}.header .brand{line-height:1}.footer .brand-logo{background:#fffefa;border-radius:5px;padding:5px;width:185px}.service-icon{display:block!important;width:68px!important;height:68px!important;object-fit:contain;background:transparent!important;border-radius:0!important;margin-bottom:18px!important}.service{min-height:220px}.botcheck{display:none!important}#form-status{font-size:14px;line-height:1.5;margin:8px 0 0}#form-status.error{color:#9d2626}#form-status.success{color:#216b40}.contact-card .full:disabled{opacity:.65;cursor:wait}@media(max-width:700px){.brand-logo{width:160px}.service-icon{width:62px!important;height:62px!important}}

/* Janela de pedido de orçamento */
body.quote-open{overflow:hidden}
.quote-modal[hidden]{display:none!important}
.quote-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.quote-modal-backdrop{position:absolute;inset:0;background:rgba(19,19,17,.72)}
.quote-dialog{position:relative;background:var(--white);border-radius:14px;width:min(100%,600px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;box-shadow:0 24px 80px #0005;overflow:hidden}
.quote-dialog-head{display:flex;justify-content:space-between;gap:16px;padding:24px 28px 16px;border-bottom:1px solid var(--line)}
.quote-dialog-head h2{font-size:26px;line-height:1.2;letter-spacing:-.8px;margin:8px 0}
.quote-dialog-head p{color:var(--muted);font-size:13px;margin:0}
.quote-close{flex-shrink:0;align-self:flex-start;border:0;border-radius:50%;background:#eee9dc;width:38px;height:38px;font-size:27px;line-height:1}
.quote-dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:18px 28px 26px}
.quote-dialog form{display:grid;gap:9px}
.quote-dialog label{font-size:13px;font-weight:800;margin-top:5px}
.quote-dialog input:not([type=hidden]):not([type=checkbox]),.quote-dialog select,.quote-dialog textarea{width:100%;border:1px solid #d9d4c8;background:#fff;border-radius:6px;padding:12px;color:var(--ink)}
.quote-dialog input:focus,.quote-dialog select:focus,.quote-dialog textarea:focus{outline:2px solid var(--yellow);outline-offset:1px}
.quote-dialog .full{margin-top:12px}
@media(max-width:700px){.quote-modal{padding:0;align-items:stretch}.quote-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.quote-dialog-head{padding:16px 18px 12px}.quote-dialog-head h2{font-size:22px}.quote-dialog-body{padding:14px 18px 28px;padding-bottom:max(28px,env(safe-area-inset-bottom))}}

.field-help{font-size:12px;color:var(--muted);margin:0 0 5px;line-height:1.5}.postal-suggestions{display:grid;gap:4px;max-height:180px;overflow-y:auto;border:1px solid #d9d4c8;border-radius:6px;padding:5px}.postal-suggestions[hidden]{display:none}.postal-option{background:#fff;border:0;text-align:left;padding:10px;border-radius:4px;color:var(--ink);font-size:12px;cursor:pointer}.postal-option:hover,.postal-option:focus{background:#fff3c6;outline:1px solid #e5b100}

/* CASA 360 v11 — portefólio */
.contact-outline{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:2px solid #ffc400;border-radius:9px;text-decoration:none;transition:background .2s ease,color .2s ease}.contact-outline:hover{background:#ffc400;color:#222!important}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid .portfolio-item{min-width:0;margin:0;background:#fff;border:1px solid #e8e5dd;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.045)}.gallery-grid .portfolio-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.gallery-grid .portfolio-open img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .25s}.gallery-grid .portfolio-open:hover img{transform:scale(1.035)}.gallery-grid .portfolio-item figcaption{padding:16px 17px 5px;font-size:1.05rem;font-weight:750}.gallery-grid .portfolio-description{margin:0;padding:0 17px 19px;font-size:.9rem;line-height:1.55;color:#666}.portfolio-dialog{max-width:min(920px,94vw);max-height:92vh;padding:0;border:0;border-radius:16px;box-shadow:0 20px 90px #0006}.portfolio-dialog::backdrop{background:#000b}.portfolio-dialog-inner{position:relative;padding:18px 22px 24px}.portfolio-close{position:absolute;right:26px;top:22px;border:0;background:#fff;color:#222;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;box-shadow:0 2px 12px #0004}.portfolio-large{display:block;max-width:100%;max-height:67vh;margin:auto;object-fit:contain;border-radius:8px}.portfolio-title{margin:16px 0 5px}.portfolio-text{margin:0;color:#555;line-height:1.5}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .portfolio-open img{height:260px}}


/* Portefólio v12: transição suave da fotografia para o conteúdo */
.gallery-grid .portfolio-item{height:auto;display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 5px 20px rgba(0,0,0,.045)}
.gallery-grid .portfolio-open{position:relative;flex:0 0 auto;overflow:hidden;}
.gallery-grid .portfolio-open::after{content:"";position:absolute;left:0;right:0;bottom:0;height:78px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none;}
.gallery-grid .portfolio-open img{height:245px;object-fit:cover;}
.gallery-grid .portfolio-item figcaption{position:static;background:none;color:#1e1e1e;padding:4px 18px 8px;font-size:1.05rem;font-weight:800;line-height:1.35;}
.gallery-grid .portfolio-description{color:#292929;padding:0 18px 22px;margin:0;font-size:.92rem;line-height:1.55;}
@media(max-width:560px){.gallery-grid .portfolio-open img{height:260px}}

/* CASA 360 v13 — navegação entre fotografias ampliadas */
.portfolio-dialog-inner{padding-left:clamp(12px,5vw,64px);padding-right:clamp(12px,5vw,64px)}
.portfolio-prev,.portfolio-next{position:absolute;top:42%;transform:translateY(-50%);z-index:2;width:42px;height:54px;border:0;border-radius:12px;background:rgba(255,255,255,.92);color:#202020;font-size:38px;line-height:1;cursor:pointer;box-shadow:0 2px 14px #0003}
.portfolio-prev{left:8px}.portfolio-next{right:8px}
.portfolio-prev:hover,.portfolio-next:hover{background:#ffc400}
.portfolio-counter{display:block;text-align:center;margin-top:10px;color:#666;font-size:.85rem;font-variant-numeric:tabular-nums}
.portfolio-large{touch-action:pan-y;user-select:none;-webkit-user-drag:none}
@media(max-width:560px){.portfolio-dialog-inner{padding:52px 12px 18px}.portfolio-prev,.portfolio-next{width:34px;height:46px;font-size:32px;top:42%;background:rgba(255,255,255,.84)}.portfolio-prev{left:3px}.portfolio-next{right:3px}.portfolio-large{max-height:59vh}}

/* CASA 360 v14 — cartões do portefólio: bege suave e tipografia dourada. */
.gallery-grid .portfolio-item{background:#eee5d6;border:1px solid #e6dac8;}
.gallery-grid .portfolio-open::after{height:58px;background:linear-gradient(to bottom,rgba(238,229,214,0),rgba(238,229,214,.52) 48%,#eee5d6 100%);}
.gallery-grid .portfolio-item figcaption{color:#b78300;background:none;}
.gallery-grid .portfolio-description{color:#b78300;}
/* Dificultar cópia casual sem interferir com a navegação da galeria. */
img,svg{-webkit-user-drag:none;user-drag:none;}
.gallery-grid img,.portfolio-large,.brand img,.footer img{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
@media print{img,svg,.gallery-grid,.portfolio-dialog,.hero-photo,.about-visual{visibility:hidden!important;display:none!important}}
