@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f5f0e7;--paper:#f9f5ed;--ink:#332f26;--terracotta:#a25f47;--olive:#414734;--line:#d8cfc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1360px,90%);margin:auto}.site-header{height:104px;background:var(--cream);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px 5%;position:relative;z-index:2}.logo img{width:180px}.nav{display:flex;align-items:center;gap:38px}.nav a{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;border-bottom:1px solid transparent;padding:8px 0}.nav a:hover,.nav a.active{border-color:var(--terracotta)}.menu-toggle{display:none}.eyebrow{color:var(--terracotta);letter-spacing:2.5px;text-transform:uppercase;font-size:12px;font-weight:500}.display,h1,h2,h3,.quote{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08}.display{font-size:clamp(58px,6.5vw,112px);margin:20px 0}.display em{font-weight:400}.lead{font-size:clamp(17px,1.5vw,22px);max-width:600px}.btn-link{display:inline-block;color:var(--terracotta);border-bottom:1px solid var(--terracotta);padding-bottom:4px;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-top:22px}.btn-link:after{content:' ⟶';padding-left:10px}.hero{min-height:630px;display:flex;align-items:center;position:relative;overflow:hidden;background:#d9cabb}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f4efe6 0%,rgba(244,239,230,.97) 23%,rgba(244,239,230,.35) 55%,transparent 76%);z-index:1}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:right center}.hero .shell{position:relative;z-index:1;padding:75px 0}.hero .display{max-width:670px}.hero p{max-width:470px}.section{padding:85px 0;border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.split img{width:100%;height:450px;object-fit:cover}.section h2{font-size:clamp(38px,4.2vw,68px);margin:16px 0 20px}.section p{max-width:600px}.four{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.principle{border-left:1px solid var(--line);padding:0 15px}.principle strong{color:var(--terracotta);font-size:12px;letter-spacing:2px;text-transform:uppercase}.principle p{font-size:14px}.olive{background:var(--olive);color:var(--paper)}.olive .eyebrow{color:#d7b59e}.olive .btn-link{color:var(--paper);border-color:var(--paper)}.quote{font-size:clamp(32px,4vw,60px)}.page-intro{padding:90px 0 60px}.page-intro h1{max-width:800px}.project-card{display:block;border:1px solid var(--line);background:var(--cream);margin-bottom:90px}.project-card img{width:100%;height:480px;object-fit:cover;object-position:center}.project-meta{display:flex;gap:40px;justify-content:space-between;align-items:center;padding:25px 32px}.project-meta h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;margin:0}.project-meta small{color:#756b5e}.project-meta span{font-size:12px;letter-spacing:2px;color:var(--terracotta)}.service{display:grid;grid-template-columns:30% 1fr;gap:4%;padding:28px 0;border-top:1px solid var(--line)}.service h2{font-size:43px;margin:10px 0}.service-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-images img{height:300px;width:100%;object-fit:cover}.service-images img:last-child{filter:saturate(.65)}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;padding:65px 0}.field{display:block;width:100%;padding:14px 15px;margin:0 0 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}.button{background:var(--olive);color:white;padding:16px 26px;border:0;cursor:pointer;font:inherit;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.button:disabled{opacity:.55;cursor:not-allowed}.small{font-size:13px;color:#716a61}.notice{background:#eee7db;padding:15px;border-left:2px solid var(--terracotta);font-size:14px}.footer{background:#302f28;color:#e8e2d5;padding:50px 0}.footer .shell{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer img{width:150px;filter:invert(1)}.footer p{font-size:12px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery img{width:100%;height:360px;object-fit:contain;background:#eee9e0}.gallery figcaption{font-size:13px;color:#756b5e;padding-top:8px}.gallery figure{margin:0}.full-image{width:100%;max-height:900px;object-fit:contain;background:#eee9e0}.banner{background:#e9dfcf;padding:55px 0}.banner h2{font-size:48px}.editor-note{font-size:12px;color:#6e6459}.section-label{font-size:12px;color:var(--terracotta);letter-spacing:2px;text-transform:uppercase}.portrait-placeholder{height:480px;border:1px solid #b6a89a;display:grid;place-items:center;text-align:center;background:#e9e0d3;padding:40px}.portrait-placeholder span{max-width:260px}.form-status{margin-top:12px;font-size:13px}.breadcrumb{font-size:12px;color:#7c6e62;margin:30px 0}@media(max-width:760px){.site-header{height:82px}.logo img{width:140px}.menu-toggle{display:block;border:0;background:none;font-size:27px;cursor:pointer}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:20px 6%;flex-direction:column;align-items:flex-start;gap:9px;box-shadow:0 14px 20px #0001}.nav.open{display:flex}.hero{min-height:550px}.hero:before{background:linear-gradient(90deg,rgba(244,239,230,.97),rgba(244,239,230,.8) 55%,rgba(244,239,230,.1))}.hero>img{object-position:65%}.section{padding:55px 0}.split,.contact-grid,.service{grid-template-columns:1fr}.four{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.service-images img{height:200px}.project-card img{height:300px}.project-meta{flex-direction:column;align-items:flex-start}.project-meta h2{font-size:33px}.footer .shell{flex-direction:column;align-items:flex-start}.split img{height:320px}.page-intro{padding:60px 0 35px}}
/* Página inicial adaptada à composição aprovada */
.hero{min-height:565px;background:#e6dfd3}
.hero>img{width:68%;left:auto;right:0;object-fit:cover;object-position:center center}
.hero:before{background:linear-gradient(90deg,#f4efe6 0%,#f4efe6 19%,rgba(244,239,230,.92) 34%,rgba(244,239,230,.38) 52%,transparent 70%)}
.hero .shell{padding:50px 0}.hero .display{font-size:clamp(57px,6vw,98px);max-width:590px}
.intro-visual{display:grid;grid-template-columns:1.4fr .9fr;gap:12px;height:360px}.intro-visual>img{height:360px;object-fit:cover}.intro-quote{background:var(--olive);color:#f5f0e7;padding:25px;display:flex;flex-direction:column;justify-content:center}.intro-quote img{width:95px;height:auto;filter:brightness(0) invert(1);margin-bottom:20px}.intro-quote p{font:italic 25px/1.3 'Libre Caslon Display',Georgia,serif;margin:0}.section .intro-visual{width:100%}
@media(max-width:760px){.hero>img{width:100%;opacity:.65}.hero:before{background:linear-gradient(90deg,#f4efe6 0%,rgba(244,239,230,.92) 42%,rgba(244,239,230,.36) 100%)}.intro-visual{height:auto}.intro-visual>img{height:260px}.intro-quote{padding:16px}.intro-quote p{font-size:18px}}

/* Símbolos originais da secção Atelier */
.principle svg{display:block;width:110px;max-width:100%;height:43px;margin:0 0 14px;fill:none;stroke:var(--terracotta);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Correção do corte visual do degradê — Início e Atelier */
.hero > img {
  width: 100%;
  left: 0;
  right: 0;
  object-fit: cover;
  object-position: right center;
  opacity: 1;
}
.hero::before {
  background: linear-gradient(90deg,
    #f4efe6 0%,
    rgba(244,239,230,.98) 16%,
    rgba(244,239,230,.87) 31%,
    rgba(244,239,230,.50) 48%,
    rgba(244,239,230,.12) 68%,
    rgba(244,239,230,0) 82%);
}
@media (max-width:760px) {
  .hero > img { width:100%; left:0; opacity:1; object-position:68% center; }
  .hero::before {
    background: linear-gradient(90deg,
      rgba(244,239,230,.98) 0%,
      rgba(244,239,230,.93) 36%,
      rgba(244,239,230,.72) 65%,
      rgba(244,239,230,.35) 100%);
  }
}

/* Projeto Lugar de Pinhó — comparação entre estado existente e proposta */
.rehab-gallery{margin-top:34px;align-items:start}
.rehab-gallery img{height:520px;object-fit:cover;background:#eee9e0}
@media(max-width:760px){.rehab-gallery img{height:auto;max-height:none}}

/* OURIKA Objects — Collection 01 / TERRA */
.objects-hero{display:grid;grid-template-columns:34% 66%;min-height:560px;background:var(--cream);border-bottom:1px solid var(--line)}
.objects-copy{padding:80px max(5vw,42px);display:flex;flex-direction:column;justify-content:center}
.objects-copy h1{font:400 clamp(70px,8vw,130px)/.95 'Libre Caslon Display',Georgia,serif;margin:14px 0 26px;color:var(--terracotta)}
.objects-copy p{max-width:470px;margin:0 0 14px}.objects-status{margin-top:25px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:#756b5e}
.objects-hero>img{width:100%;height:100%;min-height:560px;object-fit:cover}
.tile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:42px}
.tile-grid figure{margin:0}.tile-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line)}
.tile-grid figcaption{padding-top:13px;text-transform:uppercase;letter-spacing:1.5px;font-size:12px}.tile-grid figcaption b{color:var(--terracotta);margin-right:9px}
.terra-origin{background:#efe6d8}.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}
.palette-grid>div{border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.swatch{width:54px;height:54px;border-radius:50%;grid-row:1/3;border:1px solid #0002}.swatch.barro{background:#9d4d31}.swatch.oliva{background:#4b5139}.swatch.mel{background:#bd741f}.swatch.cobalto{background:#18477d}
.palette-grid b{font-family:'Libre Caslon Display',Georgia,serif;font-size:22px;font-weight:400}.palette-grid small{color:#756b5e}
@media(max-width:760px){.objects-hero{grid-template-columns:1fr}.objects-copy{padding:55px 6%}.objects-hero>img{min-height:320px;height:320px}.tile-grid{grid-template-columns:1fr 1fr;gap:16px}.palette-grid{grid-template-columns:1fr 1fr}.objects-copy h1{font-size:72px}}

/* TERRA — seletor interativo de cor */
.colour-help{margin:8px 0 0;color:#756b5e;font-size:13px}
.colour-picker .colour-option{appearance:none;-webkit-appearance:none;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;padding:14px 8px 12px 0;text-align:left;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;cursor:pointer;font:inherit;transition:border-color .2s,transform .2s}
.colour-picker .colour-option:hover{transform:translateY(-2px);border-top-color:var(--terracotta)}
.colour-picker .colour-option.active{border-top:2px solid var(--terracotta)}
.colour-picker .colour-option b{font-family:'Libre Caslon Display',Georgia,serif;font-size:22px;font-weight:400}
.colour-picker .colour-option small{color:#756b5e}
.tile-grid img{transition:opacity .18s ease}
.tile-grid img.changing{opacity:.18}

/* TERRA — paleta final e pedido por email */
.palette-grid.colour-picker{grid-template-columns:repeat(4,1fr)}
.swatch.barro{background:#9d4f32}.swatch.oliva{background:#68664b}.swatch.cobalto{background:#294e70}
.tile-order{appearance:none;border:0;background:transparent;padding:7px 0 2px;color:var(--terracotta);font:500 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;cursor:pointer;border-bottom:1px solid transparent}
.tile-order:hover{border-bottom-color:var(--terracotta)}
.tile-order:after{content:'  ↗';padding-left:5px}
.order-note{margin-top:18px;font-size:12px;color:#756b5e}
@media(max-width:760px){.palette-grid.colour-picker{grid-template-columns:1fr 1fr}.tile-order{font-size:9px;letter-spacing:1.2px}}

.swatch.mel{background:#c68419}

/* Lugar de Pinhó — fotografias completas, sem recorte */
.rehab-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:42px;justify-items:center}
.rehab-gallery figure{width:100%;max-width:850px;margin:0 auto}
.rehab-gallery figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;background:transparent}
.rehab-gallery figcaption{padding-top:12px}

/* Lugar de Pinhó — comparação lado a lado, proporções originais preservadas */
.rehab-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,36px);align-items:start;justify-items:stretch}
.rehab-gallery figure{width:100%;max-width:none;margin:0;min-width:0}
.rehab-gallery figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(max-width:650px){.rehab-gallery{grid-template-columns:1fr;gap:28px}}

/* Comparação interativa Lugar de Pinhó: imagens sem corte */
.rehab-comparison{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.rehab-comparison-figure{margin:0;width:100%}
.rehab-comparison-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.rehab-comparison-caption{margin-top:.75rem;font-size:.86rem;color:var(--ink);opacity:.72}
.rehab-comparison-toggle{appearance:none;background:transparent;border:1px solid var(--terracotta);border-radius:0;padding:.8rem 1.15rem;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s}
.rehab-comparison-toggle:hover,.rehab-comparison-toggle:focus-visible{background:var(--terracotta);color:#fff}
.rehab-comparison-toggle span{margin-left:.7rem}

/* Lugar de Pinhó — proporções naturais e palco fixo pela imagem da proposta.
   Nenhuma fotografia é esticada ou cortada. */
.rehab-comparison-figure{width:100%;margin:0;min-width:0}
.rehab-comparison-figure img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:var(--paper)}
.rehab-comparison-figure.is-framed img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;object-position:center}
.rehab-comparison-figure.is-framed{position:relative;aspect-ratio:var(--proposal-ratio);background:var(--paper)}
.rehab-comparison-figure.is-framed .rehab-comparison-caption{position:absolute;top:100%;left:0}
.rehab-comparison:has(.is-framed){gap:2.8rem}

/* Subtitulos das duas instalacoes sanitarias no Lugar de Pinho */
.rehab-subheading{font-family:inherit;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500;margin:2.5rem 0 .6rem;color:var(--ink)}

/* Lugar de Pinhó — prancha editorial de materiais (sem alterar as restantes secções) */
.pinho-materials{background:var(--paper)}
.pinho-material-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,32px);margin:2.2rem 0 1rem}
.pinho-mat{margin:0;min-width:0}
.pinho-mat-sample{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#ddd4c7}
.pinho-mat figcaption{display:flex;flex-direction:column;gap:.3rem;padding-top:.75rem;font-size:.82rem}
.pinho-mat figcaption strong{font-weight:500;letter-spacing:.025em}
.pinho-mat figcaption span{color:#756b5e}
.pinho-cal{background:repeating-linear-gradient(122deg,#e7dfd0 0px,#f0e9dc 7px,#e9e2d5 11px,#f4ecdf 18px)}
.pinho-nogueira{background:repeating-linear-gradient(95deg,#3c291f 0px,#53392b 13px,#604433 16px,#3b2920 29px,#6b4b37 34px,#432d23 45px)}
.pinho-pedra{background:linear-gradient(135deg,#b4aea2,#d7d1c4 36%,#c4beb2 38%,#e3ded2 73%,#bbb4a9)}
.pinho-bronze{background:linear-gradient(115deg,#584b38,#a38a60 35%,#6d5a3c 65%,#baa077)}
.pinho-material-note{font-size:.79rem;color:#756b5e;margin:1rem 0 1.5rem}
@media(max-width:760px){.pinho-material-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}

/* OURIKA — apresentação editorial da página inicial */
.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.home-section-head h2{margin-bottom:0}.home-section-head .btn-link{white-space:nowrap;margin-bottom:10px}.home-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.home-project-item{display:block}.home-project-image{background:#e9e3d9;overflow:hidden;aspect-ratio:1.48}.home-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.home-project-item:hover img{transform:scale(1.025)}.home-project-info{padding:18px 0 5px}.home-project-info .eyebrow{font-size:10px}.home-project-info h3{font-size:clamp(29px,3vw,44px);margin:10px 0 4px}.home-project-info p{margin:0;font-size:13px;color:#756b5e}.home-terra{background:var(--cream)}.home-terra-layout{display:grid;grid-template-columns:36% 1fr;gap:8%;align-items:center}.home-terra-copy h2{font-size:clamp(68px,8vw,115px);color:var(--terracotta);margin:14px 0 0}.home-terra-subtitle{font-family:'Libre Caslon Display',Georgia,serif;font-size:27px;margin:0 0 23px!important}.home-terra-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-terra-visual img{width:100%;aspect-ratio:1;object-fit:contain;background:#eee8de;border:1px solid var(--line)}.home-contact-layout{display:flex;justify-content:space-between;gap:35px;align-items:center}.home-contact-layout h2{margin-bottom:12px}.home-contact-layout .btn-link{white-space:nowrap}@media(max-width:760px){.home-section-head{align-items:start;flex-direction:column}.home-project-grid{grid-template-columns:1fr;gap:35px}.home-terra-layout{grid-template-columns:1fr;gap:30px}.home-terra-visual{gap:8px}.home-contact-layout{align-items:start;flex-direction:column}.home-contact-layout .btn-link{margin-top:0}}

/* Destaque individual do Lugar de Pinhó na página inicial */
.home-projects .home-project-grid{grid-template-columns:minmax(0,1fr);max-width:760px}

/* Lugar de Pinhó — fotografia de enquadramento territorial */
.pinho-landscape{padding-top:45px}
.pinho-landscape-figure{margin:34px 0 0}
.pinho-landscape-figure img{display:block;width:100%;height:auto;object-fit:contain}
.pinho-landscape-figure figcaption{margin-top:12px;font-size:.86rem;color:var(--ink);opacity:.72}

/* Lugar de Pinhó: texto de enquadramento antes da fotografia */
.pinho-landscape-description{margin-top:0}
.pinho-concept-note{font-size:.88rem;opacity:.72;margin-top:1.5rem;max-width:55rem}

/* Lugar de Pinhó — composição editorial da paisagem */
@media (min-width: 850px){
 .pinho-landscape{padding-top:18px}
 .pinho-landscape-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,72px);align-items:center}
 .pinho-landscape-grid .pinho-landscape-description{margin:0;min-width:0}
 .pinho-landscape-grid .pinho-landscape-description h2{font-size:clamp(2.3rem,3.4vw,4.2rem);line-height:1.12}
 .pinho-landscape-grid .pinho-landscape-figure{margin:0;min-width:0}
 .pinho-landscape-grid .pinho-landscape-figure img{width:100%;height:auto;display:block}
 .pinho-concept-note{margin-top:26px;max-width:100%;overflow-wrap:break-word;white-space:normal}
}
@media (max-width: 849px){
 .pinho-landscape{padding-top:18px}
 .pinho-landscape-grid{display:flex;flex-direction:column;gap:18px}
 .pinho-landscape-grid .pinho-landscape-figure{margin:0;width:100%}
 .pinho-landscape-grid .pinho-landscape-description{margin:0}
 .pinho-concept-note{overflow-wrap:break-word;white-space:normal}
}

/* Contactos — formulário editorial com informação lateral */
.contact-section .contact-grid{grid-template-columns:minmax(0,1.7fr) minmax(240px,.85fr);gap:clamp(35px,7vw,110px);align-items:start}
.contact-main h2{margin:14px 0 20px}
.contact-intro{max-width:620px;line-height:1.65;margin:0 0 35px;color:var(--ink)}
.contact-field{margin-bottom:15px}
.contact-field label{display:block;margin:0 0 8px;font-size:13px;letter-spacing:.035em}
.contact-field label span{font-size:12px;color:#716a61}
.contact-field .field{margin-bottom:0}
.contact-field .field:focus{outline:2px solid var(--terracotta);outline-offset:2px}
.contact-main form>.small{line-height:1.7;max-width:620px;margin-top:20px}
.contact-aside{border-left:1px solid var(--line);padding-left:clamp(22px,3vw,45px);margin-top:9px}
.contact-aside-block{margin-bottom:45px}
.contact-aside-block .eyebrow{display:block;margin-bottom:18px}
.contact-email-link{display:inline-block;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.contact-aside-block p{line-height:1.6;margin:0 0 12px}
@media(max-width:800px){.contact-section .contact-grid{grid-template-columns:1fr;gap:45px}.contact-aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:32px;margin-top:0}.contact-aside-block{margin-bottom:28px}}
