@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Fraunces";src:url("assets/fonts/fraunces-latin.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}
:root{
  --paper:#f4f7f4;--cream:#fffdfa;--cream-deep:#e4eee9;--ink:#263d47;--forest:#263d47;--forest-2:#345f6f;
  --clay:#345f6f;--clay-light:#bdd8d9;--muted:#536970;--line:#cddbd8;--white:#f8fcfa;
  --sans:"DM Sans",Arial,sans-serif;--serif:"Fraunces",Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
summary{cursor:pointer}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}
h1 em,h2 em{font-weight:400}
.shell{width:min(100% - 96px,1360px);margin-inline:auto}
.section-pad{padding-block:clamp(100px,10vw,160px)}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;transform:translateY(-150%);padding:12px 18px;background:var(--ink);color:#fff;text-decoration:none;border-radius:8px}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
[hidden]{display:none!important}
::selection{background:var(--clay-light);color:var(--ink)}

/* Navegação */
.site-header{position:relative;z-index:50;background:var(--paper);border-bottom:1px solid rgba(38,61,71,.1)}
.header-inner{height:94px;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;flex:none;text-decoration:none}
.brand img{display:block;width:225px;height:auto;aspect-ratio:400/107}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.2vw,38px);flex:1}
.desktop-nav a{position:relative;white-space:nowrap;text-decoration:none;font-size:13px;font-weight:600;color:#354d56;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.desktop-nav a:hover{color:var(--clay)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.header-contact{display:flex;align-items:center;justify-content:center;padding:14px 23px;background:var(--forest);color:var(--white);border-radius:100px;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap;transition:background .25s,transform .25s}
.header-contact:hover{background:var(--clay);transform:translateY(-2px)}
.menu-toggle,.mobile-nav,.mobile-call,.no-js-nav{display:none}

/* Hero editorial */
.hero{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:min(790px,calc(100svh - 94px));overflow:hidden}
.hero-copy{display:flex;align-items:center;background:var(--paper);padding:64px clamp(32px,4vw,84px) 58px max(48px,calc((100vw - 1360px)/2));position:relative}
.hero-copy::before{content:"";position:absolute;left:0;bottom:0;width:120px;height:120px;border-top:1px solid var(--line);transform:rotate(45deg) translate(-66px,68px)}
.hero-copy-inner{width:min(100%,650px)}
.hero-identity{display:grid;gap:5px;border-left:2px solid var(--clay);padding-left:14px;color:var(--ink)}
.hero-identity span:first-child{font-size:12px;line-height:1.3;letter-spacing:.16em;font-weight:700;color:var(--clay)}
.hero-identity span:nth-child(2){font-size:13px;line-height:1.4;font-weight:700}
.hero-identity span:last-child{font-size:12px;line-height:1.4;color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.5;letter-spacing:.15em;font-weight:700;color:var(--clay);text-transform:uppercase}
.eyebrow-line{display:inline-block;width:36px;height:1px;background:currentColor;flex:none}
.hero h1{font-size:clamp(72px,7.1vw,118px);line-height:.94;margin-top:43px;max-width:710px}
.hero h1 em{display:block;color:var(--clay)}
.hero-lead{max-width:490px;font-size:clamp(16px,1.2vw,18px);line-height:1.7;color:#4b6269;margin-top:40px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:42px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:62px;padding:12px 26px;border-radius:100px;text-decoration:none;text-align:center;font-size:13px;font-weight:700;line-height:1.2;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,0,.12)}
.button-dark{background:var(--forest);color:var(--white)}
.button-dark:hover{background:#345f6f}
.button-arrow{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:rgba(255,255,255,.15);font-size:20px;font-weight:400;transition:transform .3s var(--ease)}
.button:hover .button-arrow{transform:rotate(45deg)}
.text-link{display:inline-flex;gap:12px;align-items:center;padding-block:8px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;border-bottom:1px solid currentColor;transition:gap .25s,color .25s}
.text-link:hover{gap:18px;color:var(--clay)}
.text-link span{font-size:17px;font-weight:400}
.hero-note{display:flex;align-items:center;gap:9px;margin-top:66px;color:#536970;font-size:12px}
.note-spark{color:var(--clay);font-size:22px;line-height:1}
.hero-art{min-height:710px;position:relative;background:#a9bcbf;overflow:hidden}
.hero-art>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:61% center}
.hero-art-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 53%,rgba(25,47,56,.66));pointer-events:none}
.hero-caption{position:absolute;bottom:42px;left:45px;right:45px;display:flex;justify-content:flex-end;color:#fff}
.hero-caption strong{max-width:230px;text-align:right;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.18;letter-spacing:-.025em}

.chapter-strip{height:68px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,5vw,90px);padding-inline:24px;background:#bdd8d9;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.21em;white-space:nowrap;overflow:hidden}
.chapter-strip i{width:5px;height:5px;transform:rotate(45deg);background:currentColor;opacity:.7;flex:none}

/* Filosofia */
.philosophy{position:relative;overflow:hidden;background:#d6e8e3;color:var(--ink)}
.philosophy-grid{position:relative;z-index:1;display:grid;grid-template-columns:180px 1fr;gap:60px}
.section-index{display:flex;align-items:center;gap:12px;align-self:start;font-size:12px;font-weight:700;letter-spacing:.18em;white-space:nowrap}
.section-index span:first-child{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:12px;letter-spacing:0;flex:none}
.philosophy .section-index{color:var(--clay)}
.eyebrow-light{color:var(--clay)}
.philosophy h2{max-width:1020px;margin-top:32px;font-size:clamp(64px,7.2vw,118px);line-height:1.02}
.philosophy h2 em{color:var(--clay)}
.philosophy-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;max-width:950px;margin-top:62px}
.philosophy-bottom p{max-width:545px;color:#486069;font-size:17px;line-height:1.8}
.philosophy-link{flex:none;color:var(--clay)}
.orbit{position:absolute;border:1px solid rgba(52,95,111,.16);border-radius:50%;pointer-events:none}
.orbit-one{width:680px;height:680px;right:-270px;top:-260px}
.orbit-two{width:520px;height:520px;right:-180px;top:-175px}

/* Tratamentos */
.care{background:var(--cream)}
.care-heading{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(190px,300px);align-items:end;gap:55px;margin-bottom:65px}
.care-heading .section-index{align-self:start;color:var(--clay)}
.care h2,.space h2,.faq h2{font-size:clamp(60px,5.8vw,96px);line-height:1.02;margin-top:20px}
.care h2 em,.space h2 em,.faq h2 em{color:var(--clay)}
.care-heading>p{font-size:15px;color:var(--muted);line-height:1.7;padding-bottom:8px}
.care-list{border-top:1px solid var(--line)}
.care-item{border-bottom:1px solid var(--line);background:transparent;transition:background .3s}
.care-item[open]{background:var(--paper)}
.care-item summary{list-style:none;display:grid;grid-template-columns:70px minmax(0,1fr) 190px 50px;align-items:center;gap:16px;min-height:115px;padding:20px 32px;transition:padding .25s var(--ease)}
.care-item summary::-webkit-details-marker{display:none}
.care-item summary:hover{padding-left:40px}
.care-number{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--clay)}
.care-title{font-family:var(--serif);font-size:clamp(26px,3vw,45px);letter-spacing:-.05em;line-height:1.12}
.care-area{text-align:right;font-size:12px;font-weight:700;color:#526b72}
.care-symbol{position:relative;width:42px;height:42px;border:1px solid #b7c9c9;border-radius:50%;justify-self:end;transition:background .3s,border-color .3s,transform .3s}
.care-symbol::before,.care-symbol::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--ink);transform:translate(-50%,-50%)}
.care-symbol::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
.care-item[open] .care-symbol{background:var(--forest);border-color:var(--forest);transform:rotate(90deg)}
.care-item[open] .care-symbol::before,.care-item[open] .care-symbol::after{background:#fff}
.care-item[open] .care-symbol::after{transform:translate(-50%,-50%) rotate(0)}
.care-detail{display:grid;grid-template-columns:minmax(0,580px) auto;align-items:end;justify-content:space-between;gap:36px;padding:0 100px 36px 118px}
.care-detail p{font-size:15px;color:#4b6269;line-height:1.75}
.care-detail p+p{margin-top:12px}
.care-detail a{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:7px}
.care-detail a:hover{color:var(--clay)}
.care-detail .care-read{margin-top:18px;white-space:normal;color:var(--clay)}
.care-after{display:flex;align-items:center;gap:22px;margin-top:52px}
.care-asterisk{font-size:32px;color:var(--clay);line-height:1}
.care-after p{max-width:440px;font-family:var(--serif);font-size:23px;line-height:1.25;letter-spacing:-.035em}
.care-after a{margin-left:auto}

/* Sobre */
.about{background:#e4eee9;overflow:hidden}
.about-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:clamp(60px,9vw,150px);align-items:center}
.about-portrait{position:relative;min-height:690px;align-self:stretch;display:flex;align-items:end;justify-content:center}
.portrait-backdrop{position:absolute;inset:7% 3% 4% 3%;background:#9dbec5;border-radius:47% 47% 8px 8px;overflow:hidden}
.portrait-backdrop::before{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.42);border-radius:47% 47% 8px 8px}
.about-portrait img{position:relative;width:min(100%,580px);height:auto;max-height:700px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 25px rgba(39,69,76,.12))}
.portrait-label{position:absolute;right:-20px;bottom:44px;padding:15px 20px;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1.12;letter-spacing:-.04em;box-shadow:0 18px 40px rgba(39,38,30,.12);transform:rotate(-4deg)}
.portrait-label small{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.about-copy{padding-block:30px}
.about-copy .section-index{margin-bottom:80px;color:var(--clay)}
.about-copy h2{max-width:650px;margin-top:26px;font-size:clamp(61px,5.5vw,91px);line-height:1.02}
.about-copy h2 em{color:var(--clay)}
.about-copy>p:not(.eyebrow){max-width:510px;margin-top:28px;font-size:16px;color:#4b6269;line-height:1.8}
.about-copy .cro-line{font-size:12px!important;font-weight:700;letter-spacing:.05em;color:var(--clay)!important;margin-top:14px!important}
.about-copy .button{margin-top:40px}
.button-outline{border:1px solid var(--forest);color:var(--forest)}
.button-outline .button-arrow{background:var(--forest);color:#fff}
.button-outline:hover{background:var(--forest);color:#fff}

/* Espaço */
.space{background:var(--paper);overflow:hidden}
.space-head{display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:60px}
.space-head .section-index{grid-row:1 / span 3;color:var(--clay)}
.space-head h2{max-width:970px}
.space-head>p:last-child{max-width:530px;margin-top:24px;font-size:16px;color:var(--muted);line-height:1.7}
.space-gallery{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);grid-template-rows:auto auto;gap:28px;margin-top:75px;align-items:start}
.space-gallery figure{min-width:0}
.space-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .6s}
.space-gallery figure:hover img{transform:scale(1.03);filter:saturate(1.08)}
.space-gallery figure{overflow:hidden}
.gallery-main{grid-row:1 / span 2;position:relative;align-self:stretch;height:690px}
.gallery-main img{object-position:center 38%}
.gallery-side{height:390px}
.gallery-detail{height:270px}
.space-gallery figcaption{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-height:45px;background:var(--paper);font-size:12px;font-weight:600;color:#536970}
.space-gallery figcaption span{font-size:12px;letter-spacing:.1em;color:var(--clay)}

/* Visita */
.visit{background:#dcebe6;color:var(--ink);position:relative;overflow:hidden}
.visit::before{content:"";position:absolute;width:750px;height:750px;left:-330px;bottom:-540px;border:1px solid rgba(52,95,111,.18);border-radius:50%}
.visit::after{content:"";position:absolute;width:470px;height:470px;left:-175px;bottom:-360px;border:1px solid rgba(52,95,111,.18);border-radius:50%}
.visit-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:clamp(60px,8vw,140px);align-items:end}
.visit .section-index{margin-bottom:62px}
.visit h2{max-width:770px;font-size:clamp(64px,6.3vw,105px);line-height:1.01;margin-top:28px}
.visit h2 em{color:var(--clay)}
.visit-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:48px}
.button-light{background:var(--forest);color:var(--white)}
.button-light .button-arrow{background:rgba(255,255,255,.15);color:#fff}
.visit-social{font-size:13px;font-weight:700;text-underline-offset:5px}
.visit-social span{margin-left:7px}
.visit-card{padding:38px;background:var(--cream);color:var(--ink);box-shadow:0 24px 50px rgba(39,69,76,.12);transform:rotate(2deg)}
.visit-card>*{transform:rotate(-2deg)}
.visit-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;letter-spacing:.16em;font-weight:700;color:var(--clay);border-bottom:1px solid var(--line);padding-bottom:24px}
.visit-card-top span{font-size:25px;color:var(--clay)}
.visit-card address{font-family:var(--serif);font-size:clamp(27px,2.8vw,40px);font-style:normal;line-height:1.27;letter-spacing:-.04em;margin-top:31px}
.visit-hours{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:13px;line-height:1.5}
.visit-hours strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--clay)}
.visit-phone{display:block;width:max-content;margin-top:30px;font-size:20px;font-weight:700;text-decoration:none}
.visit-phone:hover{color:var(--clay)}
.map-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:34px;font-size:12px;font-weight:700;text-decoration:none}
.map-link:hover{color:var(--clay)}

/* Blog */
.journal{background:var(--cream)}
.journal-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}
.journal-head h2{font-size:clamp(55px,5.8vw,94px);line-height:1.04;margin-top:17px}
.journal-head h2 em{color:var(--clay)}
.journal-head .text-link{margin-bottom:10px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.journal-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:420px;padding:0 28px 28px;background:var(--paper);border:1px solid var(--line);overflow:hidden;text-decoration:none;transition:transform .3s var(--ease),background .3s,box-shadow .3s}
.journal-card:hover{transform:translateY(-5px);background:#ebf3f0;box-shadow:0 14px 30px rgba(38,61,71,.08)}
.journal-thumb{display:block;width:calc(100% + 56px);height:auto;max-width:none;aspect-ratio:3/2;object-fit:cover;margin:0 -28px 25px}
.journal-number{font-size:12px;letter-spacing:.16em;font-weight:700;color:var(--clay);text-transform:uppercase}
.journal-card h2,.journal-card h3{font-family:var(--serif);font-size:clamp(28px,2.6vw,39px);font-weight:400;line-height:1.12;letter-spacing:-.045em;margin-top:25px}
.journal-card p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:20px;padding-right:18px}
.journal-arrow{margin-top:auto;padding-top:30px;color:var(--clay);font-size:25px}
.blog-hero,.article-hero{padding-block:76px 95px}
.breadcrumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:65px;font-size:12px;color:var(--muted)}
.breadcrumbs a{text-decoration:none;border-bottom:1px solid currentColor}
.breadcrumbs a:hover{color:var(--clay)}
.blog-hero h1,.article-hero h1{max-width:1000px;font-size:clamp(64px,7.4vw,118px);line-height:1.02;margin-top:24px}
.blog-hero h1 em{color:var(--clay)}
.blog-hero>p:last-child{max-width:700px;font-size:18px;line-height:1.7;color:var(--muted);margin-top:32px}
.blog-index{background:var(--cream);padding-top:0}
.blog-disclosure{padding-block:0 80px}
.blog-disclosure p{max-width:740px;font-size:14px;line-height:1.7;color:var(--muted)}
.blog-cta{background:#dcebe6;padding-block:80px}
.blog-cta h2{font-size:clamp(45px,5vw,75px);line-height:1.1;margin:20px 0 30px}
.article-hero{border-bottom:1px solid var(--line)}
.article-hero h1{max-width:1100px;font-size:clamp(56px,6.4vw,98px)}
.article-lead{max-width:800px;font-size:clamp(18px,1.5vw,22px);line-height:1.65;color:#4b6269;margin-top:35px}
.article-byline{display:flex;gap:24px;flex-wrap:wrap;margin-top:43px;font-size:12px;font-weight:700;color:var(--clay)}
.article-cover{margin-top:45px}
.article-cover img{display:block;width:100%;max-height:610px;aspect-ratio:3/2;object-fit:cover}
.article-cover figcaption{text-align:right;font-size:12px;color:var(--muted);margin-top:9px}
.article-layout{display:grid;grid-template-columns:260px minmax(0,750px);gap:clamp(60px,8vw,150px);padding-block:90px 120px}
.article-aside{position:sticky;top:40px;align-self:start;display:grid;gap:14px;padding-top:8px}
.article-aside>span{font-size:12px;letter-spacing:.16em;font-weight:700;color:var(--clay);margin-bottom:12px}
.article-aside a{font-size:12px;line-height:1.45;text-decoration:none;color:var(--muted);padding:0 0 14px;border-bottom:1px solid var(--line)}
.article-aside a:hover{color:var(--clay)}
.article-aside .aside-contact{color:var(--clay);font-weight:700;margin-top:16px;border:0}
.article-content section+section{margin-top:66px}
.article-content h2{font-size:clamp(35px,3.3vw,52px);line-height:1.12;margin-bottom:24px}
.article-content p{font-size:17px;line-height:1.85;color:#435b63}
.article-content p+p{margin-top:20px}
.article-sources{border-top:1px solid var(--line);padding-top:35px;margin-top:78px}
.article-sources h2{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.04em;margin:0 0 15px}
.article-sources ul{padding-left:19px;margin:0 0 26px}
.article-sources li{margin:8px 0;font-size:13px;line-height:1.5}
.article-sources a{color:var(--clay);text-underline-offset:3px}
.article-sources p{font-size:12px;line-height:1.6;color:var(--muted)}
.article-next{background:#e4eee9;padding:30px;margin-top:46px}
.article-next p{font-family:var(--serif);font-size:28px;line-height:1.2;color:var(--ink);margin-bottom:22px}
.related-articles{background:var(--cream)}
.related-articles .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* FAQ e rodapé */
.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:clamp(50px,7vw,120px)}
.faq h2{font-size:clamp(57px,5vw,82px)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:27px 0;font-size:16px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;font-weight:400;transition:transform .25s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list p{max-width:590px;padding:0 34px 28px 0;color:var(--muted);font-size:15px;line-height:1.7}
.faq-list p a{text-decoration-thickness:1px;text-underline-offset:3px}
.site-footer{background:#edf4f0;color:var(--ink);padding-top:74px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}
.footer-brand{display:grid;gap:10px;align-items:start}
.footer-brand img{width:min(100%,290px);height:auto;aspect-ratio:400/107}
.footer-brand p{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--clay)}
.footer-grid>p{font-family:var(--serif);font-size:29px;line-height:1.1;letter-spacing:-.04em;max-width:220px}
.footer-grid>div:last-child{display:grid;gap:14px;justify-content:end;text-align:right;font-size:13px;font-weight:600}
.footer-grid a{text-decoration:none}
.footer-grid a:hover{color:var(--clay)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:74px;padding-block:23px;color:var(--muted)}
.footer-bottom small{font-size:12px;line-height:1.5}
.footer-credit{display:flex;justify-content:center;border-top:1px solid var(--line);padding-block:14px 18px;text-align:center;color:var(--muted);font-size:12px;line-height:1.5;letter-spacing:.03em}
.footer-credit a{margin-left:4px;color:var(--clay);text-decoration:none;font-weight:700}
.footer-credit a:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1180px){
  .shell{width:min(100% - 64px,1360px)}
  .header-inner{gap:20px}
  .brand img{width:205px}
  .desktop-nav{gap:18px}
  .hero-copy{padding-left:32px}
  .hero h1{font-size:clamp(66px,7vw,92px)}
  .hero-actions{gap:18px}
  .care-heading{grid-template-columns:140px minmax(0,1fr);gap:28px}
  .care-heading>p{grid-column:2;max-width:500px}
  .space-head{grid-template-columns:140px minmax(0,1fr);gap:28px}
}
@media(max-width:900px){
  .site-header{position:sticky;top:0}
  .header-inner{height:76px}
  .desktop-nav,.header-contact{display:none}
  .mobile-call{display:grid;place-items:center;margin-left:auto;width:46px;height:46px;border-radius:50%;background:var(--forest);color:#fff;text-decoration:none}
  .mobile-call svg{width:22px;height:22px}
  .js-ready .menu-toggle{display:grid;align-content:center;gap:6px;width:46px;height:46px;padding:12px;background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}
  .menu-toggle span{height:1px;background:var(--ink);width:100%;transition:transform .25s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav:not([hidden]){display:grid;gap:0;position:static;background:var(--paper);padding:16px 32px 28px}
  .js-ready .mobile-nav:not([hidden]){position:absolute;top:76px;left:0;right:0;box-shadow:0 22px 35px rgba(38,61,71,.13)}
  .mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:26px;letter-spacing:-.04em;text-decoration:none}
  .no-js-nav{display:flex;flex-wrap:wrap;gap:12px 20px;padding:12px 32px 18px;background:var(--paper);font-size:13px}
  .no-js-nav a{text-decoration:underline;text-underline-offset:4px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:88px 32px 70px}
  .hero h1{max-width:770px;font-size:clamp(73px,10vw,115px)}
  .hero-art{min-height:570px}
  .philosophy-grid{grid-template-columns:1fr;gap:35px}
  .philosophy h2{font-size:clamp(65px,9vw,100px)}
  .care-heading{grid-template-columns:1fr}
  .care-heading>p{grid-column:1}
  .care-item summary{grid-template-columns:40px minmax(0,1fr) 150px 42px;padding-inline:16px}
  .care-detail{padding-left:72px;padding-right:70px}
  .about-grid{gap:55px}
  .about-portrait{min-height:560px}
  .about-copy h2{font-size:clamp(55px,6.7vw,76px)}
  .visit-grid{grid-template-columns:1fr;gap:70px}
  .visit-card{max-width:570px;margin-left:auto}
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}
}
@media(max-width:700px){
  .shell{width:min(100% - 40px,1360px)}
  .section-pad{padding-block:88px}
  .header-inner{height:68px}
  .brand img{width:185px}
  .mobile-nav:not([hidden]){padding-inline:20px}
  .js-ready .mobile-nav:not([hidden]){top:68px}
  .hero-copy{padding:25px 20px 24px;min-height:0;align-items:stretch}
  .hero-copy-inner{display:flex;flex-direction:column}
  .hero h1{font-size:clamp(53px,13.5vw,82px);margin-top:18px}
  .hero-lead{margin-top:18px;font-size:15px;line-height:1.6}
  .hero-actions{align-items:stretch;justify-content:center;gap:12px;margin-top:22px}
  .hero-actions .button{width:100%}
  .hero-note{margin-top:24px;padding-top:0}
  .hero-art{min-height:440px}
  .hero-art>img{object-position:59% center}
  .hero-caption{left:22px;right:22px;bottom:28px}
  .hero-caption strong{font-size:18px}
  .chapter-strip{height:58px;gap:18px;justify-content:flex-start;font-size:12px;letter-spacing:.13em}
  .philosophy h2{font-size:clamp(56px,13vw,85px);margin-top:21px}
  .philosophy-bottom{align-items:end;margin-top:38px}
  .philosophy-bottom p{font-size:15px}
  .philosophy-bottom{display:block}
  .philosophy-link{margin-top:25px}
  .care h2,.space h2{font-size:clamp(54px,12vw,78px)}
  .care-heading{margin-bottom:40px;gap:20px}
  .care-heading>p{font-size:14px}
  .care-item summary{grid-template-columns:30px minmax(0,1fr) 40px;min-height:96px;gap:9px;padding:17px 6px}
  .care-item summary:hover{padding-left:6px}
  .care-number{font-size:12px}
  .care-title{font-size:clamp(24px,6vw,35px)}
  .care-area{display:none}
  .care-symbol{width:36px;height:36px}
  .care-detail{display:block;padding:0 46px 29px 39px}
  .care-detail p{font-size:14px}
  .care-detail a{margin-top:17px;white-space:normal}
  .care-after{display:grid;grid-template-columns:30px 1fr;gap:12px;margin-top:40px}
  .care-after p{font-size:21px}
  .care-after a{grid-column:2;margin-left:0;width:max-content}
  .about-grid{grid-template-columns:1fr;gap:50px}
  .about-portrait{min-height:0;height:570px;order:2}
  .about-copy{order:1;padding:0}
  .about-copy .section-index{margin-bottom:40px}
  .about-copy h2{font-size:clamp(57px,12vw,80px)}
  .about-copy>p:not(.eyebrow){font-size:15px;margin-top:20px}
  .about-copy .button{display:flex;width:100%;margin-inline:auto}
  .about-portrait img{max-height:560px}
  .portrait-label{right:0;bottom:25px}
  .space-head{grid-template-columns:1fr;gap:20px}
  .space-head .section-index{grid-row:auto}
  .space-head h2{max-width:650px}
  .space-head>p:last-child{font-size:15px;margin-top:2px}
  .space-gallery{grid-template-columns:1fr;gap:24px;margin-top:50px}
  .gallery-main{grid-row:auto;height:520px}
  .gallery-side{height:290px}
  .gallery-detail{height:220px}
  .visit h2{font-size:clamp(58px,12.5vw,90px)}
  .visit .section-index{margin-bottom:40px}
  .visit-card{width:100%;padding:28px;transform:none}
  .visit-card>*{transform:none}
  .visit-actions{justify-content:center;gap:25px;margin-top:35px}
  .visit-actions .button{width:100%}
  .journal-head{display:block;margin-bottom:35px}
  .journal-head .text-link{margin-top:25px}
  .journal-grid,.related-articles .journal-grid{grid-template-columns:1fr}
  .journal-card{min-height:0;padding:0 25px 25px}
  .journal-thumb{width:calc(100% + 50px);margin:0 -25px 22px}
  .journal-card h2,.journal-card h3{font-size:34px}
  .article-cover{margin-top:28px}
  .blog-hero,.article-hero{padding-block:45px 68px}
  .breadcrumbs{margin-bottom:48px}
  .blog-hero h1{font-size:clamp(58px,13vw,84px)}
  .article-hero h1{font-size:clamp(51px,10.5vw,76px)}
  .blog-hero>p:last-child,.article-lead{font-size:17px}
  .article-layout{display:block;padding-block:60px 85px}
  .article-aside{position:static;margin-bottom:65px;padding:22px;background:var(--cream);border:1px solid var(--line)}
  .article-aside a{padding-bottom:10px}
  .article-content p{font-size:16px}
  .article-next{padding:25px 20px}
  .article-next .button{width:100%}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .faq h2{font-size:clamp(56px,12vw,78px)}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-grid>p{grid-row:auto;max-width:100%;font-size:26px}
  .footer-grid>div:last-child{grid-column:auto;grid-row:auto;justify-content:start;text-align:left}
  .footer-bottom{display:grid;margin-top:45px}
}
@media(max-width:380px){
  .brand img{width:155px}
  .hero h1{font-size:52px}
  .hero-art{min-height:390px}
  .hero-caption strong{font-size:16px}
  .visit-card address{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
.error-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.error-content{max-width:700px;text-align:center}
.error-content .eyebrow{justify-content:center}
.error-content h1{font-size:clamp(60px,9vw,110px);line-height:1;margin:20px 0 24px}
.error-content>p:not(.eyebrow){line-height:1.7;color:var(--muted);margin-bottom:30px}
/* Oculta o frame externo do badge se a Netlify o inserir com este ID. */
#nl-badge-frame,iframe[id^="nl-badge"]{display:none!important;visibility:hidden!important}
