:root{--cream:#f5eee6;--paper:#fbf8f3;--rose:#e7cec3;--terra:#9b513e;--brown:#4d352d;--muted:#79635b;--line:#a58a7438;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;font-family:var(--sans);color:var(--brown);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;text-align:center}main{overflow:clip}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--terra);outline-offset:6px}img{display:block;max-width:100%}::selection{background:var(--rose)}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:12px;letter-spacing:.21em;font-weight:600;color:var(--terra);line-height:1.8;margin-bottom:24px}h2{font-size:clamp(43px,4.6vw,65px);line-height:1.04;letter-spacing:-.025em}em{font-weight:400;color:var(--terra)}.section-intro{max-width:650px;margin:25px auto 0;font-size:16px;line-height:1.95;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:58px;padding:18px 28px;border-radius:60px;background:var(--terra);color:#fff9f0;border:1px solid transparent;font-size:14px;font-weight:500;line-height:1.6;transition:background .3s,box-shadow .3s,transform .3s;cursor:pointer;max-width:100%}.button span{font-size:21px;line-height:1}.button:hover{background:#80412f;box-shadow:0 9px 25px #6e342520;transform:translateY(-2px)}.button-light{background:#f4e8dc;color:var(--brown)}.button-light:hover{background:white}.text-link{font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding-bottom:9px;border-bottom:1px solid #9b513e55;color:var(--terra)}.text-link span{font-size:20px}.skip{position:fixed;top:-100px;left:20px;background:var(--brown);color:white;padding:15px;z-index:30}.skip:focus{top:10px}.brand-header{position:absolute;inset:0 0 auto;height:120px;z-index:3;display:flex;justify-content:center;align-items:center}.brand{font-family:var(--serif);font-size:72px;line-height:.85;letter-spacing:.015em;display:inline-block}.brand span{display:block;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.32em;margin-top:15px}.hero{position:relative;min-height:820px;height:100svh;max-height:1000px;background:#dfc6b8;isolation:isolate;display:flex;align-items:center}.hero-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:70% center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#eee2d3eb 0%,#eee2d3cf 26%,#eee2d335 60%,transparent),linear-gradient(0deg,#e7d6c75c,transparent 20%)}.hero-copy{padding-top:85px;padding-bottom:95px;display:flex;align-items:center;flex-direction:column;padding-right:min(44%,640px)}h1{font-size:clamp(78px,7.8vw,116px);line-height:.94;letter-spacing:-.045em}h1 em{font-style:italic}.hero-lead{font-size:17px;line-height:1.85;margin:28px 0 30px}.hero-note{font-size:12px;color:#72594c;margin-top:20px}.hero-foot{position:absolute;bottom:28px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.16em;color:#60473e}.hero-foot a{display:flex;align-items:center;gap:15px}.hero-foot a span{font-size:22px}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;padding:25px 25px;background:#eee2d6;color:#755348;font-size:12px;letter-spacing:.035em;border-bottom:1px solid var(--line)}.ribbon i{font-size:18px;font-style:normal;color:var(--terra)}.philosophy{padding-bottom:95px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.principles>div{padding-top:28px;border-top:1px solid var(--line)}.principles span{font-family:var(--serif);font-size:28px;font-style:italic;color:#b0886e}.principles h3{font-size:29px;margin:13px 0 12px}.principles p{font-size:15px;line-height:1.85;color:var(--muted);max-width:290px;margin:auto}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:105px}.service-card{min-width:0;perspective:900px}.portrait{position:relative;height:275px;border-radius:150px 150px 4px 4px;background:linear-gradient(145deg,#d8b2a0,#c69783);isolation:isolate;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.3,1),box-shadow .65s}.tone-two{background:linear-gradient(145deg,#e8d7c0,#cbb79c)}.tone-three{background:linear-gradient(145deg,#d6b5b1,#ba8f8a)}.tone-four{background:linear-gradient(145deg,#d4b4a2,#b99179)}.portrait img{position:absolute;bottom:0;left:-5%;width:110%;max-width:none;height:calc(100% + 46px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 10px #55362b1f);transform:translateZ(20px);transition:transform .65s}.portrait-number{position:absolute;left:18px;bottom:15px;font-family:var(--serif);font-style:italic;font-size:25px;color:#694e42;z-index:3}.service-content{padding:25px 0 0;display:flex;flex-direction:column;align-items:center;height:290px}.service-tag{font-size:10px;letter-spacing:.12em;color:var(--terra)}.service-content h3{font-size:29px;line-height:1.1;margin:11px 0 17px}.service-content p{font-size:14px;line-height:1.85;color:var(--muted)}.service-content .text-link{font-size:12px;margin-top:auto}.care-note{font-size:12px;line-height:1.8;max-width:740px;margin:42px auto 25px;color:var(--muted)}.journey{background:radial-gradient(ellipse at 10% 0%,#c9967f55,transparent 60%),#74473c;color:#f6eade}.journey .eyebrow{color:#e7bda5}.journey em{color:#eac2aa}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:55px 0 40px}.journey-grid>div{border-top:1px solid #e8c5b94a;padding-top:25px}.journey-grid span{font-size:11px;letter-spacing:.16em;color:#e8c4af}.journey-grid h3{font-size:30px;margin:16px 0}.journey-grid p{font-size:15px;line-height:1.85;color:#e2cec2;max-width:295px;margin:auto}.comparison{max-width:850px;margin:45px auto 30px}.comparison-labels{display:grid;grid-template-columns:1fr 1fr;background:#eadace;padding:14px;border-radius:8px 8px 0 0;font-size:11px;letter-spacing:.12em;color:var(--brown)}.comparison img{width:100%;height:auto;border-radius:0 0 8px 8px}.comparison figcaption{font-size:12px;line-height:1.8;color:var(--muted);max-width:720px;margin:20px auto 0}.comparison figcaption strong{font-weight:600}.faq{background:#eee0d8}.faq-wrap{max-width:820px}.questions{margin:43px 0 27px;text-align:left;border-top:1px solid #8f625530}details{border-bottom:1px solid #8f625530;padding:0 5px}summary{list-style:none;cursor:pointer;padding:24px 40px 24px 0;position:relative;font-size:16px;font-weight:500;line-height:1.6}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:20px;font-size:25px;font-weight:400;color:var(--terra)}details[open] summary:after{content:'−'}details p{font-size:15px;line-height:1.9;padding-bottom:26px;color:var(--muted);max-width:690px}.contact{background:radial-gradient(ellipse at 50% 100%,#e5c5b955,transparent 70%),var(--paper)}.contact-form{max-width:660px;margin:35px auto 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;text-align:left;font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:18px}input,select{display:block;width:100%;margin-top:8px;padding:15px 16px;min-height:55px;background:#f3eae2;border:1px solid #a27c6240;border-radius:5px;font-size:15px;color:var(--brown)}input::placeholder{color:#8c7567}.form-note{font-size:12px;line-height:1.7;color:var(--muted);margin:22px 0}.form-status{font-size:14px;line-height:1.8;margin-top:20px}.form-status:empty{display:none}.footer{padding:55px 40px 0;background:#513c34;color:#f1e3d4}.footer .brand{font-size:75px}.footer>p{font-family:var(--serif);font-style:italic;font-size:27px;margin:25px 0 40px;color:#d9bbab}.footer-bottom{display:flex;justify-content:space-between;gap:30px;max-width:1200px;margin:auto;padding-block:23px;border-top:1px solid #efe0ce30;font-size:11px;line-height:1.8;color:#d2bcb0}.intro{animation:appear 1.1s ease both}.hero h1{animation-delay:.1s}.hero-lead{animation-delay:.2s}.hero .button{animation-delay:.3s}.hero-note{animation-delay:.4s}@keyframes appear{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}.reveal{transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.3,1)}.reveal.pending{opacity:0;translate:0 25px}.reveal:focus-within{opacity:1;translate:0 0}@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover .portrait{transform:rotateX(3deg) rotateY(-3deg);box-shadow:9px 14px 25px #75534816}.service-card:hover .portrait img{transform:translateZ(32px) translateY(-7px)}}
@media(min-width:1500px){.hero-copy{padding-right:500px}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.hero-copy{padding-right:40%}h1{font-size:90px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 40px;max-width:720px;margin-inline:auto}.portrait{height:310px}.service-content{height:260px}.service-content h3{font-size:33px}.service-content p{font-size:16px}.service-content .text-link{font-size:14px}.principles,.journey-grid{gap:25px}.ribbon{gap:25px;font-size:11px}.hero .button{font-size:12px;padding-inline:20px;gap:15px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding-block:75px}.brand-header{height:100px}.brand{font-size:61px}.brand span{font-size:8px}.hero{height:auto;min-height:860px;align-items:start}.hero-image{object-position:76% top;height:63%;opacity:.75}.hero-shade{background:linear-gradient(0deg,#eee2d3 0%,#eee2d3 30%,#eee2d3d9 48%,#eee2d333 83%,#eee2d345)}.hero-copy{padding:365px 0 100px;width:calc(100% - 35px)}.hero .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:19px}h1{font-size:79px;line-height:.91}.hero-lead{font-size:16px;margin:23px 0 25px}.hero .button{font-size:13px;padding:17px 23px;gap:18px}.hero-note{font-size:11px}.hero-foot{left:20px;right:20px;bottom:22px;justify-content:center}.hero-foot>span{display:none}.ribbon{gap:12px;flex-direction:column;padding-block:24px;font-size:12px}.ribbon i{font-size:11px}h2{font-size:45px}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:19px}.section-intro{font-size:16px;line-height:1.9}.principles{grid-template-columns:1fr;gap:27px;max-width:360px;margin:35px auto 0}.principles>div{padding-top:23px}.principles h3{font-size:31px}.principles p{font-size:16px}.service-grid{grid-template-columns:1fr;max-width:340px;gap:76px;margin-top:90px}.portrait{height:320px}.portrait img{height:calc(100% + 50px)}.service-content{height:auto;padding-top:25px}.service-content h3{font-size:35px}.service-tag{font-size:11px}.service-content .text-link{margin-top:23px}.care-note{margin-top:40px}.journey-grid{grid-template-columns:1fr;max-width:380px;margin:40px auto 33px;gap:33px}.journey-grid p{font-size:16px}.comparison{margin-top:30px}.comparison-labels{font-size:9px;letter-spacing:.05em;padding:12px 3px}.comparison figcaption{font-size:12px}.button{font-size:13px;padding:16px 23px;gap:20px}.questions{text-align:center}summary{font-size:16px;padding-left:27px;padding-right:27px}summary:after{right:0}details p{font-size:15px}.form-row{grid-template-columns:1fr;gap:0}.contact-form label{text-align:center}input,select{text-align:center;font-size:16px}.form-note{font-size:12px}.footer{padding:45px 20px 0}.footer-bottom{flex-direction:column;gap:12px;font-size:11px}.footer>p{margin-bottom:30px}}
@media(max-width:370px){h1{font-size:69px}h2{font-size:39px}.hero-copy{padding-top:335px}.hero{min-height:830px}.portrait{height:280px}.button{font-size:12px;gap:12px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;translate:none}}

/* Contact channels replace the former form; external map is opt-in. */
.direct-contact{background:var(--contact-paper);color:var(--contact-ink);padding:30px;border:1px solid color-mix(in srgb,var(--contact-accent) 25%,transparent);border-radius:12px;text-align:left;min-width:0;width:100%;box-sizing:border-box}
.direct-contact h3{color:var(--contact-ink);font-size:32px;margin:10px 0 24px}.direct-contact .eyebrow{color:var(--contact-accent)}
.contact-detail{margin:22px 0}.contact-detail strong{display:block;font-size:14px;margin-bottom:8px}.contact-detail>span,.contact-detail address{font-size:16px;line-height:1.6;font-style:normal}
.direct-actions{display:flex;flex-wrap:wrap;gap:12px}.direct-contact .button{background:var(--contact-accent);color:#fff;border:1px solid var(--contact-accent);font-size:14px;white-space:normal;line-height:1.4;padding:14px 18px;justify-content:center}.direct-contact .button.secondary{background:transparent;color:var(--contact-ink)}
.direct-contact .contact-disclaimer,.direct-contact .contact-feedback{font-size:12px;line-height:1.7;margin:20px 0;color:var(--contact-ink)}.contact-feedback{border-left:2px solid var(--contact-accent);padding-left:12px}
.contact-map{margin-top:26px}.map-host{min-height:260px;overflow:hidden;border:1px solid color-mix(in srgb,var(--contact-accent) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--contact-accent) 8%,var(--contact-paper))}.map-placeholder{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.map-label{font-size:11px;letter-spacing:.2em;color:var(--contact-accent)}.map-placeholder h4{font-size:22px;margin:0}.map-placeholder p{font-size:13px;line-height:1.6;margin:0}.map-placeholder small{font-size:11px;line-height:1.5}.map-host iframe{display:block;width:100%;height:300px;border:0}.map-external{display:inline-block;font-size:13px;text-decoration:underline;margin-top:14px;color:var(--contact-ink)}
@media(max-width:600px){.direct-contact{padding:23px 18px}.direct-actions{flex-direction:column}.direct-actions .button{width:100%}.direct-contact h3{font-size:29px}}

#contato .direct-contact{max-width:950px;margin:36px auto 0}@media(min-width:900px){#contato .direct-contact{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}#contato .contact-map{margin-top:0}}

/* Contact details sit directly on the section, centered in a vertical flow. */
#contato .contact-grid{display:flex;flex-direction:column;align-items:center;gap:36px}
#contato .contact-grid>div,#contato .contact-copy,#contato .contact-channels{text-align:center;width:100%}
#contato .direct-contact{display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:0;border-radius:0;box-shadow:none;padding:0;text-align:center;margin:0 auto}
#contato .contact-detail{margin:26px 0}
#contato .contact-detail strong{font-size:.875rem;line-height:1.5;margin-bottom:8px}
#contato .contact-detail>span,#contato .contact-detail address{font-size:1rem;line-height:1.75}
#contato .direct-actions{display:flex;flex-direction:column;align-items:center;gap:14px}
#contato .direct-actions .button{width:100%;max-width:360px;min-height:52px;justify-content:center;gap:18px;font-size:.9375rem;line-height:1.5}
#contato .contact-feedback{border:0;padding:0;font-size:.875rem;max-width:480px;margin:20px auto}
#contato .contact-map{width:100%;margin:24px auto 0}
#contato .map-host iframe{height:320px}
#contato .map-label{font-size:.875rem}
#contato .map-placeholder p,#contato .map-external{font-size:.875rem;line-height:1.7}
#contato .map-placeholder small{font-size:.75rem;line-height:1.6}
#contato .map-placeholder .button{font-size:.875rem;min-height:48px}
#contato .map-placeholder h4{font-weight:400;margin:0;line-height:1.2}
#contato .eyebrow{font-size:.875rem;line-height:1.6}
@media(max-width:600px){
 #contato .contact-grid{gap:26px}
 #contato .map-host iframe{height:280px}
 #contato .map-placeholder{padding:28px 18px}
 #contato .direct-actions .button{max-width:360px}
}

/* Alva: refined proportions, terracotta rules and a wide understated map. */
#contato>.wrap{max-width:820px}
#contato h2{font-size:clamp(2.625rem,6.5vw,4rem);line-height:1.1}
#contato .section-intro{max-width:480px;margin:24px auto 32px;font-size:1rem;line-height:1.85}
#contato .contact-channels{max-width:600px}
#contato .contact-detail strong{color:var(--terra);font-size:.875rem;font-weight:600;letter-spacing:.035em}
#contato .contact-channels>.contact-detail:first-of-type{border-top:1px solid var(--line);padding-top:28px;margin-top:0}
#contato .direct-actions .button{border-radius:3px;max-width:340px;letter-spacing:.015em}
#contato .contact-map{margin-top:12px;padding-top:26px;border-top:1px solid var(--line)}
#contato .map-host{border-radius:3px;border-color:var(--line);background:var(--cream)}
#contato .map-placeholder{min-height:280px}
#contato .map-placeholder h4{font-family:var(--serif);font-size:2.25rem;color:var(--terra)}
#contato .map-load{border-radius:3px}
