/* William do Carmo — Astra / editorial, discreet, human. */
:root{--ink:#171918;--paper:#f4f2eb;--white:#fdfcf8;--muted:#666a63;--accent:#c8b795;--line:#d6d6cd;--dark-line:#393c37;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--container:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid #997843;outline-offset:6px}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}::selection{background:var(--accent);color:var(--ink)}.container{width:min(var(--container),calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:20px;padding:10px 20px;background:var(--paper);z-index:20}.skip-link:focus{top:10px}.site-header{background:var(--ink);color:var(--paper);border-bottom:1px solid var(--dark-line);position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;gap:32px;height:96px}.brand{display:block;flex-shrink:0}.brand-image{display:block;position:relative;width:178px;height:62px;overflow:hidden}.brand-image img{position:absolute;max-width:none;width:227px;height:auto;left:-25px;top:-43px;mix-blend-mode:screen}.desktop-menu{display:flex;gap:32px}.desktop-menu a{font-size:12px;color:#d1d2ca;padding:12px 0;transition:color .2s}.desktop-menu a:hover{color:var(--accent)}.header-contact{border-bottom:1px solid #7c8075;padding:8px 0;font-size:12px;display:flex;align-items:center;gap:30px}.header-contact span{font-size:20px;color:var(--accent)}.mobile-menu{display:none}.hero{background:var(--ink);color:var(--paper);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;padding-top:65px;padding-bottom:55px;align-items:center}.eyebrow{font:600 10px/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:27px}.hero .eyebrow{color:var(--accent);display:flex;align-items:center;gap:15px}.fine-line{width:30px;height:1px;background:currentColor}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(45px,4.65vw,68px);line-height:1.14}em{font-weight:400}.hero h1 em{color:var(--accent);white-space:nowrap;font-size:.9em}.hero-description{font-size:14px;line-height:1.9;color:#bcbfb6;max-width:420px;margin:28px 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:14px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:22px;font-weight:400}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#363a32}.contact-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#afb3a8;margin-top:15px}.contact-note svg{width:15px;height:15px}.hero-portrait{position:relative;height:520px;margin-right:17px}.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:saturate(.55);border-radius:190px 190px 0 0}.hero-portrait:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.portrait-outline{position:absolute;inset:-14px -14px 14px 14px;border:1px solid #80775f;border-radius:205px 205px 0 0;pointer-events:none}.hero-portrait figcaption{position:absolute;bottom:27px;left:29px;z-index:1}.hero-portrait figcaption span{font:26px var(--serif);display:block}.hero-portrait figcaption small{display:block;font-size:8px;letter-spacing:.22em;margin-top:8px;color:#d6d7d1}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--dark-line);padding-top:20px;padding-bottom:23px;font-size:9px;letter-spacing:.16em;color:#b6baad}.hero-bottom a{letter-spacing:0;display:flex;gap:28px;align-items:center;font-size:11px}.hero-bottom a span{font-size:20px;color:var(--accent)}.principles{background:#e9e7df;border-bottom:1px solid var(--line)}.principles-inner{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-block:24px;font-size:11px}.principles-inner>span:nth-child(even){color:#8a806e;font-size:13px}.section{padding:100px 0}h2{font-size:clamp(34px,3.5vw,49px);line-height:1.2}h2 em{color:#6a715f}.section-heading{margin-bottom:48px}.heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:45px}.heading-row>p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.9;padding-bottom:5px}.practice-list{border-top:1px solid #bfc2b6}.practice-item{display:grid;grid-template-columns:65px 1fr 1.1fr 48px;gap:24px;align-items:center;padding:29px 0;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.practice-item:hover{background:#ecebe3;padding-inline:12px}.index{font-size:10px;color:#73786d}.practice-item h3{font-size:26px;line-height:1.25;letter-spacing:-.025em}.practice-item p{font-size:12px;line-height:1.9;color:var(--muted);max-width:375px}.practice-item>a{display:grid;place-items:center;width:46px;height:46px;border:1px solid #c8cbbf;border-radius:50%;font-size:22px;transition:background .2s,color .2s}.practice-item>a:hover{background:var(--ink);color:var(--paper)}.about{background:#e9e8e0}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;align-items:center}.about-image{position:relative}.about-image img{height:490px;width:100%;object-fit:cover;object-position:30% center;filter:saturate(.35)}.about-image figcaption{font-size:8px;letter-spacing:.2em;margin-top:17px;color:var(--muted)}.about h2{font-size:39px}.about-name{margin:28px 0 20px;font-size:15px;font-weight:600}.about-name span{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}.about-copy>p:not(.eyebrow):not(.about-name){font-size:12px;color:#5c6257;margin-bottom:15px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #969c8b;font-size:12px;padding:8px 0;margin-top:12px}.text-link span{font-size:22px}.testimonials{background:var(--ink);color:var(--paper)}.testimonials .eyebrow{color:var(--accent)}.testimonials h2 em{color:var(--accent)}.testimonial-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.editorial-notice{font-size:10px;color:#b2b5aa;max-width:280px}.quotes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px}.quotes figure{padding:0 34px;border-left:1px solid #43473d}.quotes figure:first-child{padding-left:0;border-left:0}.quotes figure:last-child{padding-right:0}.quote-mark{display:block;font:65px/1 var(--serif);color:var(--accent);height:53px}.quotes blockquote{font:22px/1.6 var(--serif);margin:0;letter-spacing:-.01em}.quotes figcaption{font-size:8px;letter-spacing:.15em;color:#b2b5aa;margin-top:24px}.contact{background:#d9d5c7}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact h2{font-size:52px}.contact h2 em{color:#60664f}.contact-right>p{max-width:370px;font-size:13px;color:#52574c;margin-bottom:25px}.contact-caption{display:block;font-size:9px;margin-top:14px;color:#5c6055}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.faq h2{font-size:40px}.faq-intro{font-size:12px;color:var(--muted);max-width:280px;margin-top:24px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-size:13px;font-weight:500;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:400;color:#727963;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:12px;color:var(--muted);padding:0 30px 24px 0}.site-footer{background:var(--ink);color:var(--paper);padding:47px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:36px}.footer-top>p{color:#b8bcaf;font:20px/1.5 var(--serif)}.back-top{display:flex;align-items:center;gap:25px;font-size:10px}.back-top span{font-size:22px;color:var(--accent)}.footer-bottom{border-top:1px solid var(--dark-line);padding-top:24px;display:flex;justify-content:space-between;gap:30px;font-size:9px;color:#aeb3a6}.footer-bottom>p:last-child{text-align:right}
@media(min-width:1500px){.hero-layout{gap:100px}.hero-portrait{height:565px}.hero{padding-top:12px}h1{font-size:70px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero-layout{gap:35px;grid-template-columns:1.15fr 1fr}.hero-portrait{height:480px}.hero h1{font-size:49px}.about-grid{gap:50px}.faq-grid{gap:50px}.contact-inner{gap:50px}.desktop-menu{gap:22px}.about h2{font-size:34px}.practice-item{grid-template-columns:40px 1fr 1.1fr 48px}}
@media(max-width:800px){.container{width:calc(100% - 44px)}.nav{height:80px;gap:20px}.desktop-menu{display:none}.header-contact{margin-left:auto}.hero-layout{gap:30px;padding-top:48px}.hero h1{font-size:39px}.hero-description{font-size:12px}.hero-portrait{height:425px;margin-right:9px}.hero-portrait figcaption{left:19px}.hero-portrait figcaption span{font-size:22px}.hero-copy .button{font-size:11px;gap:16px;padding-inline:16px}.section{padding:70px 0}.principles-inner{font-size:9px;gap:10px}.about-grid{gap:35px}.about-image img{height:440px}.about h2{font-size:30px}.heading-row>p{max-width:240px}.practice-item h3{font-size:23px}.quotes figure{padding-inline:22px}.quotes blockquote{font-size:20px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-intro{max-width:400px}.contact h2{font-size:42px}.contact-inner{gap:40px}.button{gap:16px;font-size:11px}.mobile-menu{display:block;position:relative;font-size:12px}.mobile-menu summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:10px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:56px;width:245px;padding:16px 22px;background:var(--ink);border:1px solid var(--dark-line);box-shadow:0 12px 24px #0003}.mobile-menu nav a{display:block;padding:12px 0;border-bottom:1px solid var(--dark-line)}.mobile-menu nav a:last-child{border:0}}
@media(max-width:600px){html{scroll-padding-top:80px}.nav{height:75px}.brand-image{width:145px;height:51px}.brand-image img{width:187px;left:-21px;top:-36px}.header-contact{display:none}.mobile-menu{margin-left:auto}.hero-layout{grid-template-columns:1fr;padding-top:42px;gap:46px;padding-bottom:34px}.hero .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(37px,9.4vw,55px)}.hero h1 em{font-size:.88em}.hero-description{font-size:13px;max-width:360px;margin:23px 0}.hero-copy .button{font-size:12px;padding-inline:22px;gap:38px}.hero-portrait{height:425px;width:calc(100% - 25px);max-width:370px;justify-self:center;margin-right:12px}.hero-portrait>img{object-position:50% 33%}.hero-portrait figcaption{left:24px}.hero-portrait figcaption span{font-size:27px}.hero-bottom{gap:10px;padding-block:18px}.hero-bottom>span{font-size:7px;letter-spacing:.09em}.hero-bottom a{font-size:10px;gap:12px}.principles-inner{flex-direction:column;gap:8px;padding-block:22px;font-size:10px}.principles-inner>span:nth-child(even){display:none}.section{padding:58px 0}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:36px}.heading-row{display:block}.heading-row>p{max-width:320px;margin-top:22px;font-size:12px}.section-heading{margin-bottom:30px}.practice-item{position:relative;grid-template-columns:25px 1fr 44px;gap:9px 12px;padding:23px 0}.practice-item .index{align-self:start;margin-top:7px}.practice-item h3{font-size:25px}.practice-item h3 br{display:none}.practice-item p{grid-column:2;grid-row:2;font-size:11px}.practice-item>a{grid-column:3;grid-row:1 / 3;width:44px;height:44px}.practice-item:hover{padding-inline:0}.about-grid{grid-template-columns:1fr;gap:38px}.about-image img{height:330px;object-position:center 40%}.about-image figcaption{font-size:7px}.about h2{font-size:35px}.about-copy>p:not(.eyebrow):not(.about-name){font-size:13px}.testimonial-heading{display:block}.editorial-notice{margin-top:22px;max-width:320px}.quotes{grid-template-columns:1fr;margin-top:30px;gap:27px}.quotes figure,.quotes figure:first-child,.quotes figure:last-child{border:0;border-top:1px solid var(--dark-line);padding:24px 0 0}.quote-mark{height:42px;font-size:53px}.quotes blockquote{font-size:23px;max-width:340px}.quotes figcaption{margin-top:18px}.contact-inner{grid-template-columns:1fr;gap:26px}.contact h2{font-size:43px}.contact-right>p{font-size:13px}.contact .button{font-size:12px;width:100%;max-width:360px}.faq h2{font-size:35px}.faq-list summary{font-size:12px;padding-block:21px}.faq-list details>p{font-size:12px}.footer-top{flex-wrap:wrap;gap:24px}.footer-top>p{font-size:17px}.back-top{width:100%;justify-content:space-between;border-top:1px solid var(--dark-line);padding-top:18px;min-height:44px}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom>p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header{position:static}.mobile-menu,.back-top,.hero-bottom,.header-contact{display:none}.container{width:95%}.section{padding:30px 0}.hero-layout{padding-top:25px}.hero-portrait{height:350px}.practice-item,details,.quotes figure{break-inside:avoid}body{font-size:12px}}
