
:root{--ink:#151512;--black:#1a1a18;--night:#211f1c;--paper:#f7f5f0;--cream:#eee9e1;--stone:#d6cec2;--warm:#c9b59a;--copper:#94775a;--mute:#696963;--line:#dfd9d0;--white:#fff;--max:1240px;--serif:'Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif;--sans:'Avenir Next','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.66;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #9c7554;outline-offset:4px}::selection{background:#c3b094;color:#191712}
.preview-notice{background:#3c372f;color:#f4f0e8;font-size:10px;letter-spacing:.16em;text-align:center;padding:6px 12px;text-transform:uppercase}.shell{width:min(var(--max),calc(100% - 82px));margin-inline:auto}.site-header{height:91px;background:rgba(247,245,240,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:300;backdrop-filter:blur(15px)}.head-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}.brand-name{font-family:var(--serif);font-size:21px;letter-spacing:-.045em;font-weight:500}.brand-name span{color:#786b5e;font-weight:400}.brand-sub{font-size:9px;text-transform:uppercase;letter-spacing:.20em;margin-top:9px;color:#685f55;font-weight:600}.desktop-nav{display:flex;align-items:center;gap:22px}.desktop-nav a{font-size:11px;letter-spacing:.085em;white-space:nowrap;color:#484641;font-weight:600;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:#a38360}.desktop-nav a.active::after{content:'';display:block;height:1px;background:#a38360;margin-top:5px}.cta-top{white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.13em;padding:13px 18px;border:1px solid var(--ink);transition:background .2s,color .2s}.cta-top:hover,.btn-dark:hover{background:#504536;color:#fff}.burger{display:none;border:0;background:transparent;padding:10px;flex-direction:column;gap:5px}.burger span{width:23px;height:1px;background:var(--ink)}.mobile-nav{display:none}
.kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase;color:#987b5a}.kicker.light{color:#e3d3be}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.headline{font-family:var(--serif);font-weight:400;letter-spacing:-.053em;line-height:1.08;font-size:clamp(48px,6.1vw,96px);margin:19px 0 25px}.headline em{font-weight:400;color:#ae9580}.headline.medium{font-size:clamp(43px,5.2vw,76px)}.section-title{font-family:var(--serif);font-weight:400;letter-spacing:-.048em;font-size:clamp(33px,3.7vw,59px);line-height:1.17;margin:12px 0 24px}.subhead{font-family:var(--serif);font-size:clamp(24px,2.45vw,37px);font-weight:400;letter-spacing:-.035em;line-height:1.22;margin:7px 0 15px}.lead{font-size:17px;line-height:1.85;color:#5d5b55;max-width:720px}.muted{color:#706e67}.small{font-size:12px}.tiny{font-size:10px}.caption{color:#80796f;font-size:11px;line-height:1.6}.line-top{border-top:1px solid var(--line)}.content-section{padding:112px 0}.content-section.tight{padding:78px 0}.content-section.stone{background:#ece6de}.content-section.dark{background:var(--ink);color:var(--paper)}.content-section.dark .lead,.content-section.dark .muted{color:#d0c8bd}.section-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:39px}.section-header .section-title{margin-bottom:0}.section-text{max-width:620px}.section-header p{max-width:420px;margin:0;color:#6c655e}.eyebrow-row{display:flex;align-items:center;gap:20px;margin-bottom:18px}.eyebrow-row:after{content:'';display:block;height:1px;width:60px;background:var(--copper)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 22px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:10px;min-height:49px;border:1px solid transparent;transition:.25s;cursor:pointer}.btn-dark{background:var(--ink);color:white}.btn-light{border:1px solid #a6a094;background:transparent;color:inherit}.btn-light:hover{background:#e6dfd6}.btn-cream{border:1px solid #f5eee2;color:#fff;background:transparent}.btn-cream:hover{background:#f5eee2;color:var(--ink)}.btn-inline{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid var(--copper);padding-bottom:8px;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.btn-inline:hover{color:#927456}.arr{display:inline-block;position:relative;flex:0 0 20px;width:20px;height:20px;font-size:0!important;line-height:0;vertical-align:middle;color:inherit}.arr:before{content:"";position:absolute;left:2px;top:10px;width:16px;border-top:1px solid currentColor}.arr:after{content:"";position:absolute;right:2px;top:6px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.arr img,.arr svg{display:none!important}.btn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero{min-height:684px;background:var(--black);color:#f6efe6;display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);overflow:hidden}.hero.leftwide{grid-template-columns:minmax(0,54%) minmax(0,46%)}.hero-left{padding:90px clamp(40px,6.4vw,116px) 98px max(42px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.hero .headline{font-size:clamp(58px,5.2vw,89px)}.hero-copy{max-width:520px;color:#d2cac0;font-size:15px;line-height:1.9}.hero-right{height:100%;min-height:550px;position:relative;background:linear-gradient(130deg,#4b4035,#c5b5a1 65%,#2b2723)}.hero-right::after,.photo-wrap::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(25,22,17,.21));opacity:.75}.hero-right img{height:100%;width:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.72) contrast(.95)}.hero-right>span{position:absolute;bottom:26px;left:28px;z-index:2;color:#f7f0e6;font-size:10px;text-transform:uppercase;letter-spacing:.18em;text-shadow:0 1px 10px #1118}.hero-signature{padding-top:35px;display:flex;align-items:center;gap:14px;color:#d7c6af;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.hero-signature:before{content:'';height:1px;width:52px;background:#a08a6e}.page-hero{background:var(--cream);padding:105px 0 88px;position:relative;overflow:hidden}.page-hero:after{content:'CAEN';position:absolute;right:-.1em;bottom:-.19em;font-family:var(--serif);font-size:230px;color:rgba(204,195,183,.18);pointer-events:none}.page-hero .lead{max-width:755px}.page-hero.dark{background:var(--black);color:#f7f4ef}.page-hero.dark .lead{color:#c9c2b7}.page-hero.dark:after{color:rgba(255,255,255,.025)}.page-hero .shell{position:relative;z-index:1}.page-hero .headline{max-width:880px;margin:24px 0 28px}.hairline{height:1px;background:var(--line)}.stats{display:flex;gap:52px;flex-wrap:wrap;margin-top:50px}.stat strong{display:block;font-family:var(--serif);font-size:39px;font-weight:400;line-height:1}.stat span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9d9587}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:35px 23px 25px;border-right:1px solid var(--line)}.step:first-child{padding-left:0}.step:last-child{border-right:0}.step .mini-number{color:#b69d7c;font-size:11px;letter-spacing:.1em}.step .icon{margin:24px 0 17px}.step h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.17;margin:0 0 8px}.step p{color:var(--mute);font-size:12px;line-height:1.8;margin:0}.icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.icon.sm{width:24px;height:24px}.icon.lg{width:40px;height:40px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e6e0d9;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-3px);border-color:#b7a48c}.card .card-photo{height:245px;position:relative;background:linear-gradient(130deg,#b8ad9d,#e7e0d5);overflow:hidden}.card .card-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .65s}.card:hover img{transform:scale(1.04)}.card .card-body{padding:30px 29px 32px;display:flex;flex-direction:column;flex:1}.card .card-title{font-family:var(--serif);font-size:31px;letter-spacing:-.04em;line-height:1.2;font-weight:400;margin:8px 0 12px}.card .card-copy{color:#69675f;line-height:1.75;font-size:13px;flex:1}.card .card-footer{border-top:1px solid #e5dfd7;padding-top:19px;margin-top:26px;display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.feature-split{display:grid;grid-template-columns:1.07fr .93fr;align-items:stretch;min-height:540px}.feature-split.reverse{grid-template-columns:.92fr 1.08fr}.feature-photo{min-height:480px;position:relative;background:linear-gradient(125deg,#6b6359,#d9cab8);overflow:hidden}.feature-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.75)}.feature-text{display:flex;flex-direction:column;justify-content:center;padding:58px min(5vw,82px);background:var(--cream)}.feature-text .section-title{max-width:470px}.feature-text p{font-size:14px;line-height:1.9;color:#6d655b}.feature-text .btn-inline{margin-top:22px;align-self:start}.dark .feature-text{background:#292723}.dark .feature-text p{color:#c7bbad}
.quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.quick-card{border:1px solid var(--line);background:rgba(255,255,255,.62);padding:22px 14px 20px;min-height:137px;display:flex;flex-direction:column;align-items:flex-start;transition:.2s}.quick-card:hover{background:#ebe2d7;border-color:#c4af94}.quick-card .icon{color:#927657;margin-bottom:12px}.quick-card strong{font-size:12px;margin-bottom:5px;line-height:1.35}.quick-card span:last-child{font-size:10px;color:#777066;line-height:1.4}
.device-marquee{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #59524b;border-bottom:1px solid #59524b}.device{padding:27px 25px;border-right:1px solid #59524b}.device:last-child{border-right:0}.device strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400;color:#f7f1e7;margin-bottom:5px}.device span{font-size:11px;color:#ada59b}.dark-cta{background:var(--ink);color:#fff;padding:92px 0;text-align:center}.dark-cta p{color:#c5bdb1;font-size:14px}.dark-cta .section-title{max-width:800px;margin:14px auto 20px}
/* Cabinet timeline */
.timeline{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:0}.timeline-item{padding:38px 0 42px;border-top:1px solid var(--line);position:relative}.timeline-year{font-family:var(--serif);font-size:66px;line-height:1;color:#aaa08f}.timeline-item h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:17px 0 8px}.timeline-item p{font-size:13px;color:#716a61;line-height:1.9}.rich p{color:#645f57;line-height:1.96}.rich h3{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:-.03em;margin:27px 0 10px}.rich ul{padding-left:20px;color:#625f58;line-height:1.95}.principle{background:#e4d9ca;padding:45px;font-family:var(--serif);font-size:31px;line-height:1.4;letter-spacing:-.025em}.principle strong{font-weight:400;color:#8d7056}
/* Team */
.person{display:grid;grid-template-columns:minmax(0,390px) 1fr;gap:75px;align-items:start;padding:75px 0;border-top:1px solid var(--line)}.person.reverse{grid-template-columns:1fr minmax(0,390px)}.person.reverse .person-picture{order:2}.person-picture{height:540px;position:relative;background:linear-gradient(130deg,#c5b8a6,#e2d8cc);overflow:hidden}.person-picture img{height:100%;width:100%;object-fit:cover;object-position:center 19%;filter:saturate(.7)}.person-picture .photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#918170;font-family:var(--serif);font-size:140px}.person-picture img{position:relative;z-index:1}.person-info .kicker{margin:12px 0}.person-name{font-family:var(--serif);font-size:clamp(38px,4vw,58px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:8px 0 15px}.person-role{color:#8e745a;font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:30px;font-weight:700}.person-info p{font-size:13px;color:#645f58;line-height:1.96}.person-info h4{font-family:var(--serif);font-weight:400;font-size:26px;margin:28px 0 8px}.chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chip{padding:7px 12px;border:1px solid #d9cfc4;color:#73695f;text-transform:uppercase;font-size:9px;letter-spacing:.08em}.publication{padding:17px 0;border-top:1px solid var(--line)}.publication a{text-decoration:underline;text-underline-offset:5px;color:#73604b}.assistant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.assistant-card{background:#eee9e2;display:grid;grid-template-columns:200px 1fr;align-items:stretch;min-height:280px}.assistant-card .assistant-img{background:#baaa97;position:relative;overflow:hidden}.assistant-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.assistant-card .assistant-text{padding:28px 26px}.assistant-card h3{font-family:var(--serif);font-weight:400;font-size:32px;margin:2px 0 11px}.assistant-card p{font-size:12px;color:#71695e;line-height:1.85}
/* Needs */
.category-label{display:flex;align-items:center;gap:15px;margin:55px 0 22px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#8a6d51}.category-label:after{content:'';height:1px;background:var(--line);flex:1}.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.need-card{display:flex;align-items:flex-start;gap:19px;background:#fff;border:1px solid #e7dfd5;padding:22px 20px;cursor:pointer;min-height:135px;transition:.2s}.need-card:hover{background:#ece2d6;border-color:#c9b59b}.need-card .icon{width:31px;height:31px;color:#997b5e;flex:none}.need-card strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.1;margin-bottom:8px}.need-card small{display:block;font-size:11px;color:#747067;line-height:1.4}.need-card .tail{align-self:flex-end;margin-left:auto;font-size:22px;font-weight:200}.need-detail{border:1px solid #d8cec1;background:#faf8f5;margin:16px 0 20px;scroll-margin-top:110px}.need-detail summary{display:flex;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:20px 25px;font-family:var(--serif);font-size:25px}.need-detail summary::-webkit-details-marker{display:none}.need-detail summary:after{content:'+';margin-left:auto;font-family:var(--sans);font-size:22px;color:#9b8265}.need-detail[open] summary:after{content:'−'}.need-detail .detail-body{padding:0 28px 30px;max-width:950px}.need-detail .detail-body p{font-size:13px;color:#5b5751;line-height:1.9}.detail-kvs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.detail-kvs>div{background:#f0ebe3;padding:22px}.detail-kvs h4{font-size:10px;color:#7e6247;text-transform:uppercase;letter-spacing:.15em;margin:0 0 12px}.detail-kvs ul{padding-left:17px;margin:0;color:#5d5953;font-size:12px;line-height:1.95}.detail-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
/* Treatments */
.treatment-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 45px}.tab-link{border:1px solid #c9beb0;padding:12px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.tab-link:hover{background:#ded4c6}.treatment-group{margin:60px 0 0}.treatment-card{border-bottom:1px solid var(--line);scroll-margin-top:120px}.treatment-card summary{list-style:none;cursor:pointer;padding:26px 6px;display:grid;grid-template-columns:56px 1fr auto;gap:24px;align-items:center}.treatment-card summary::-webkit-details-marker{display:none}.treatment-card summary .icon{color:#957553}.treatment-card h3{font-family:var(--serif);font-size:31px;letter-spacing:-.03em;font-weight:400;margin:0 0 4px}.treatment-card small{font-size:11px;color:#7b756b}.treatment-card summary .expand{font-family:var(--serif);font-size:28px;font-weight:300}.treatment-card[open] summary .expand:after{content:'−'}.treatment-card:not([open]) summary .expand:after{content:'+'}.treatment-body{padding:5px 70px 42px 80px;max-width:1050px}.treatment-body h4{font-family:var(--serif);font-size:27px;font-weight:400;margin:25px 0 7px}.treatment-body p{font-size:13px;color:#675f56;line-height:1.95}.treatment-body ul{padding-left:18px;font-size:13px;color:#675f56;line-height:1.85}.faq{margin:25px 0;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:13px;color:#35312d;font-weight:600}.faq summary::after{content:'+';font-size:20px;font-weight:300;color:#876d50}.faq details[open] summary::after{content:'−'}.faq p{padding:0 12px 15px 0;margin:0;max-width:760px;color:#767066;font-size:12px}.pill-word{font-size:10px;letter-spacing:.1em;border:1px solid #cabca9;color:#886b4f;padding:8px 13px;text-transform:uppercase}
/* Tariffs */
.price-layout{display:grid;grid-template-columns:235px minmax(0,1fr);align-items:start;gap:55px}.price-sidebar{position:sticky;top:112px;background:#ece7de;padding:27px 23px;max-height:calc(100vh - 138px);overflow:auto}.price-sidebar h3{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#987b5b;margin:0 0 17px}.price-sidebar a{display:block;padding:9px 0;border-bottom:1px solid #d8cec1;color:#625b53;font-size:12px;line-height:1.3}.price-sidebar a:hover{color:#aa8157}.price-content{min-width:0}.search-row{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);padding:11px 16px;margin-bottom:30px}.search-row svg{width:19px;flex:none}.search-row input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px;padding:7px 0}.search-row .count{font-size:10px;color:#8b8072;white-space:nowrap}.price-section{margin:0 0 50px;scroll-margin-top:116px}.price-section-header{border-bottom:1px solid #b4a796;padding:0 0 15px;margin-bottom:11px}.price-section-header span{display:block;font-size:10px;font-weight:700;letter-spacing:.2em;color:#9d8162;text-transform:uppercase}.price-section-header h2{font-family:var(--serif);font-size:34px;letter-spacing:-.04em;font-weight:400;margin:4px 0 0}.price-section-header p{font-size:12px;color:#797066;margin:7px 0 0}.price-subhead{font-family:var(--serif);font-size:25px;margin:26px 0 6px;font-weight:400}.price-table{width:100%;border-collapse:collapse;table-layout:fixed}.price-table tr{border-bottom:1px solid #e3ddd3}.price-table td{padding:12px 8px 12px 3px;font-size:12.5px;line-height:1.45;vertical-align:top}.price-table td:first-child{width:74%;color:#44423e}.price-table td:last-child{text-align:right;white-space:nowrap;color:#1a1916;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.price-table tr:nth-child(odd){background:rgba(255,255,255,.26)}.price-table tr:hover{background:#eee8df}.price-foot{font-size:11px;color:#7b7268;line-height:1.8;margin:14px 0 0}.price-highlight{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 31px}.price-highlight>div{padding:20px;background:#e9e2d8}.price-highlight small{display:block;color:#847468;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.price-highlight strong{font-family:var(--serif);font-size:31px;font-weight:400;display:block;margin-top:6px}.alert-note{background:#ece4da;border-left:2px solid #ac8b68;padding:18px 22px;font-size:12px;color:#6b6054;line-height:1.8;margin:25px 0}
/* Footer */
.site-footer{background:#171715;color:#efece7;padding:68px 0 29px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-bottom:60px}.site-footer .brand-name{font-size:26px}.site-footer .brand-sub{color:#c5b8a6}.site-footer p{font-size:12px;color:#afa99f;line-height:1.95}.site-footer h4{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#bda78c;margin:7px 0 19px}.site-footer a{display:block;font-size:12px;color:#d7d2ca;margin-bottom:10px}.site-footer a:hover{color:#cdb69b}.footer-bottom{border-top:1px solid #4b4640;padding-top:23px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#9e958b;line-height:1.6}
/* Modal */
.modal-mask{position:fixed;z-index:1000;inset:0;background:rgba(18,17,15,.75);display:none;align-items:center;justify-content:center;padding:22px}.modal-mask.open{display:flex}.contact-modal{width:min(490px,100%);background:var(--paper);padding:45px 43px;position:relative;box-shadow:0 25px 80px #0004}.close-modal{position:absolute;right:19px;top:16px;border:0;background:transparent;font-size:27px;color:#4c4943}.contact-modal h2{font-family:var(--serif);font-size:46px;font-weight:400;letter-spacing:-.04em;margin:13px 0}.contact-modal p{font-size:13px;color:#65615b}.contact-modal a.phone-link{font-family:var(--serif);font-size:30px;display:inline-block;margin:15px 0;color:#876c4d}.focus-visible{outline:3px solid #a78568}
/* decorative image fallback */
.photo-wrap{background:linear-gradient(135deg,#5c5248,#ddcfbd);position:relative;overflow:hidden}.photo-wrap img{position:relative;z-index:1}.photo-wrap .photo-fallback{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;z-index:0}.photo-fallback svg{width:88%;max-width:480px;height:auto;opacity:.72}.source-note{font-size:10px;color:#92867a}
@media(max-width:1160px){.desktop-nav{gap:14px}.desktop-nav a{font-size:10px}.brand-name{font-size:18px}.shell{width:calc(100% - 62px)}.quick-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{gap:35px}.person{gap:45px}}
@media(max-width:900px){.site-header{height:76px}.desktop-nav,.cta-top{display:none}.burger{display:flex}.mobile-nav{position:absolute;top:100%;left:0;right:0;display:none;background:#f5f1eb;border-bottom:1px solid var(--line);padding:17px 30px 26px;box-shadow:0 22px 28px #15131216}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:12px 3px;border-bottom:1px solid #e1dbd3;font-family:var(--serif);font-size:25px}.hero{grid-template-columns:1fr;min-height:auto}.hero.leftwide{grid-template-columns:1fr}.hero-left{padding:80px 44px 75px}.hero-right{min-height:400px;max-height:460px}.content-section{padding:77px 0}.grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.device-marquee{grid-template-columns:repeat(2,1fr)}.device:nth-child(2){border-right:0}.device:nth-child(-n+2){border-bottom:1px solid #59524b}.feature-split,.feature-split.reverse{grid-template-columns:1fr}.feature-photo{min-height:390px}.feature-text{padding:50px 40px}.person,.person.reverse{grid-template-columns:280px 1fr;gap:32px}.person.reverse .person-picture{order:0}.person-picture{height:420px}.person-name{font-size:42px}.assistant-grid{grid-template-columns:1fr}.price-layout{grid-template-columns:1fr;gap:30px}.price-sidebar{position:static;display:flex;flex-wrap:wrap;gap:5px;max-height:none;padding:17px}.price-sidebar h3{width:100%;margin-bottom:5px}.price-sidebar a{border:1px solid #d5cbbf;padding:6px 10px;font-size:10px}.need-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.shell{width:calc(100% - 34px)}.brand-name{font-size:17px}.brand-sub{font-size:8px;letter-spacing:.12em}.hero-left{padding:62px 22px 58px}.hero .headline{font-size:53px}.hero-right{min-height:320px}.headline{font-size:46px}.page-hero{padding:75px 0 70px}.page-hero:after{font-size:150px}.content-section{padding:66px 0}.section-title{font-size:39px}.section-header{display:block;margin-bottom:27px}.section-header p{margin-top:15px}.grid,.grid.two{grid-template-columns:1fr}.card .card-photo{height:250px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-card{min-height:132px;padding:17px 13px}.steps-grid{grid-template-columns:repeat(2,1fr)}.step{padding:24px 12px}.step:first-child{padding-left:3px}.step .icon{margin:16px 0 10px}.step h3{font-size:23px}.step p{font-size:11px}.feature-photo{min-height:285px}.feature-text{padding:36px 25px}.device-marquee{grid-template-columns:repeat(2,1fr)}.device{padding:17px 12px}.device strong{font-size:22px}.timeline{grid-template-columns:1fr}.timeline-item{padding:25px 0}.timeline-year{font-size:57px}.person,.person.reverse{grid-template-columns:1fr;padding:45px 0;gap:28px}.person-picture{height:470px}.person-name{font-size:46px}.assistant-card{grid-template-columns:132px 1fr;min-height:245px}.assistant-card .assistant-text{padding:21px 18px}.assistant-card h3{font-size:26px}.assistant-card p{font-size:11px}.need-grid{grid-template-columns:1fr}.need-card{min-height:108px;padding:18px 16px}.need-detail summary{padding:15px;font-size:23px}.need-detail .detail-body{padding:0 16px 25px}.detail-kvs{grid-template-columns:1fr}.treatment-tabs{gap:6px}.tab-link{padding:9px 10px;font-size:9px}.treatment-card summary{grid-template-columns:34px 1fr 18px;gap:13px;padding:20px 2px}.treatment-card h3{font-size:26px}.treatment-card small{font-size:10px}.treatment-body{padding:0 4px 27px 12px}.treatment-body h4{font-size:24px}.price-section-header h2{font-size:31px}.price-table td{font-size:11px;padding:10px 3px}.price-table td:last-child{font-size:11px}.price-highlight{grid-template-columns:repeat(2,1fr)}.price-highlight strong{font-size:26px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{display:block}.contact-modal{padding:40px 25px}.dark-cta{padding:70px 0}.hero-signature{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
[hidden]{display:none!important}.hero-right>.photo-wrap,.feature-photo>.photo-wrap,.card-photo>.photo-wrap{width:100%;height:100%}.feature-photo>.photo-wrap img{display:block;width:100%;height:100%;object-fit:cover}.hero-right .photo-wrap img{height:100%;width:100%;object-fit:cover}

/* V2 TYPOGRAPHY — visual language aligned with the clinic's approved Instagram direction.
   Clean geometric sans, stronger uppercase headlines, controlled tracking, no decorative serifs.
   No proprietary font files are embedded or distributed. */
:root{--serif:'Inter Display','Inter','Avenir Next','Helvetica Neue',Arial,sans-serif;--sans:'Inter','Avenir Next','Helvetica Neue',Arial,sans-serif}
body{font-family:var(--sans);font-size:15px;font-weight:400;letter-spacing:-.006em;line-height:1.74}
.brand-name{font-family:var(--serif);font-size:17px;font-weight:750;letter-spacing:.008em;text-transform:uppercase;line-height:1.18}
.brand-name span{font-weight:400;color:var(--copper)}
.brand-sub{font-size:9px;font-weight:600;letter-spacing:.20em}
.desktop-nav a{font-weight:650;letter-spacing:.035em;font-size:11px}
.kicker{font-size:10px;font-weight:750;letter-spacing:.22em}
.headline,.section-title,.subhead,.person-name,.card-title,.step h3,.price-section-header h2,.price-subhead,.treatment-card h3,.treatment-body h4,.contact-modal h2,.stat strong,.price-highlight strong,.assistant-card h3{font-family:var(--serif);font-style:normal!important}
.headline,.section-title,.subhead,.person-name{font-weight:700;letter-spacing:-.036em;text-transform:uppercase}
.headline{font-size:clamp(43px,5.3vw,77px);line-height:1.045;margin:25px 0 29px}
.headline em,.section-title em,.subhead em{font-style:normal!important;font-weight:inherit;letter-spacing:inherit;color:var(--warm)}
.headline.medium{font-size:clamp(38px,4.8vw,67px)}
.hero .headline{font-size:clamp(49px,4.75vw,82px);line-height:1.07;max-width:670px}
.hero-copy{font-size:14px;line-height:1.95;letter-spacing:0}
.section-title{font-size:clamp(30px,3.1vw,49px);line-height:1.17;max-width:950px}
.subhead{font-size:clamp(23px,2.35vw,32px);line-height:1.24}
.page-hero .headline{max-width:1020px}
.page-hero:after{font-family:var(--serif);font-weight:800;letter-spacing:-.08em}
.step h3{font-size:22px;font-weight:670;letter-spacing:-.025em;text-transform:uppercase}
.card .card-title{font-size:25px;font-weight:720;letter-spacing:-.025em;line-height:1.25;text-transform:uppercase}
.quick-card strong{font-family:var(--serif);font-weight:720;letter-spacing:.025em;text-transform:uppercase}
.person-name{font-size:clamp(34px,3.8vw,57px);line-height:1.09}
.assistant-card h3{font-weight:700;letter-spacing:-.025em;text-transform:uppercase}
.price-section-header h2{font-size:28px;font-weight:720;letter-spacing:-.025em;text-transform:uppercase}
.price-subhead{font-size:18px;font-weight:720;letter-spacing:.025em;text-transform:uppercase}
.price-highlight strong{font-size:30px;font-weight:730;letter-spacing:-.03em}
.treatment-card h3{font-weight:700;letter-spacing:-.025em;text-transform:uppercase}
.treatment-body h4{font-size:21px;font-weight:700;letter-spacing:-.015em}
.contact-modal h2{font-size:38px;font-weight:720;text-transform:uppercase;letter-spacing:-.03em}
.stat strong{font-weight:750;letter-spacing:-.05em}
.device strong{font-family:var(--serif);font-style:normal;font-weight:710;letter-spacing:-.02em}
.mobile-nav a{font-family:var(--sans);font-weight:700;font-size:20px;letter-spacing:.035em;text-transform:uppercase}
.serif{font-family:var(--sans);font-weight:600;font-style:normal;letter-spacing:-.02em}
/* Oversized photo headlines and finer captions echo the Instagram post hierarchy. */
.hero-signature,.hero-right>span,.card .card-footer,.btn,.btn-inline{font-family:var(--sans);font-weight:700;letter-spacing:.10em}
@media(max-width:1160px){.brand-name{font-size:15px}}
@media(max-width:900px){.hero .headline{font-size:clamp(46px,6.2vw,70px)}}
@media(max-width:600px){
 .brand-name{font-size:14px;letter-spacing:.006em}
 .hero .headline{font-size:clamp(37px,9.4vw,51px);line-height:1.09}
 .headline{font-size:clamp(36px,9vw,49px)}
 .section-title{font-size:clamp(27px,7.3vw,37px)}
 .step h3{font-size:18px}
 .card .card-title{font-size:24px}
 .person-name{font-size:38px}
 .assistant-card h3{font-size:21px}
 .price-section-header h2{font-size:25px}
 .price-subhead{font-size:16px}
 .treatment-card h3{font-size:21px}
 .contact-modal h2{font-size:31px}
}


/* Version sans photographies — noir, pierre, crème et cuivre */
.hero,.hero.leftwide{display:block;min-height:0}.hero-left{max-width:1320px;margin:auto;padding:90px 42px}.hero .headline{max-width:950px}.feature-split,.feature-split.reverse,.person,.person.reverse,.assistant-card{display:block;min-height:0}.feature-text{padding:55px 6%}.person{max-width:950px;margin:auto}.assistant-card{min-height:0}.brand-name{font-size:16px}.footer-bottom a{font-size:10px}.site-header{z-index:300}body{overflow-x:hidden}table,td,th{border:0}.price-table td{background:transparent!important}.site-footer .brand-name{font-size:22px}.page-hero:after{display:none}@media(max-width:600px){.hero-left{padding:55px 22px}.brand-name{font-size:13px}.feature-text{padding:35px 22px}.person{padding:35px 0}}

/* Photographies du cabinet et film d'accueil, direction pierre claire. */
.hero.hero-film{position:relative;isolation:isolate;overflow:hidden;background:#f0ece4}
.hero-film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero.hero-film:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,246,241,.97) 0%,rgba(248,246,241,.91) 38%,rgba(248,246,241,.42) 75%,rgba(248,246,241,.16) 100%)}
.hero-film .hero-left{position:relative;padding-bottom:110px}
.hero-film .hero-copy{max-width:540px;color:#514b43}
.hero-film .headline{max-width:720px}
.film-toggle{position:absolute;right:28px;bottom:24px;border:1px solid #bdb2a4;background:#f8f6f1eb;color:#292824;padding:10px 16px;font:inherit;font-size:12px;cursor:pointer;z-index:2}
.film-toggle:focus-visible{outline:2px solid #81705c;outline-offset:4px}
.feature-split.media-split{display:grid;grid-template-columns:1fr 1fr;min-height:450px}
.media-split .feature-photo{min-height:450px}
.media-split .feature-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.person:has(.person-picture),.person.reverse:has(.person-picture){display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);max-width:none;gap:60px}
.person.reverse .person-picture{order:0}
.person-picture{height:460px}
.assistant-card:has(.assistant-img){display:grid;grid-template-columns:160px minmax(0,1fr)}
.assistant-img img{min-height:280px}
@media(max-width:900px){.feature-split.media-split{grid-template-columns:1fr}.media-split .feature-photo{min-height:360px}.person:has(.person-picture),.person.reverse:has(.person-picture){grid-template-columns:250px minmax(0,1fr);gap:30px}}
@media(max-width:600px){.hero.hero-film:before{background:rgba(248,246,241,.88)}.hero-film .hero-left{padding-bottom:100px}.film-toggle{right:22px;bottom:22px}.media-split .feature-photo{min-height:290px}.person:has(.person-picture),.person.reverse:has(.person-picture){grid-template-columns:1fr}.person-picture{height:auto;aspect-ratio:4/5;max-width:400px;width:100%}.assistant-card:has(.assistant-img){grid-template-columns:120px minmax(0,1fr)}}

/* Direction médicale sobre : pierre claire, rythme aéré, titres en bas de casse. */
:root{--paper:#f8f6f1;--cream:#f0ece4;--stone:#ded7cd;--ink:#292824;--black:#292824;--night:#34312d;--warm:#8c7b66;--copper:#81705c;--mute:#706b63;--line:#ded9d0}
body{font-weight:400;letter-spacing:0}
.brand-name,.site-footer .brand-name{font-weight:500;text-transform:none;letter-spacing:-.035em;font-size:21px}
.brand-sub{font-weight:400;letter-spacing:.14em;font-size:8px}
.desktop-nav a{font-weight:400;letter-spacing:0;font-size:12px}
.headline,.section-title,.subhead,.person-name,.card .card-title,.step h3,.price-section-header h2,.price-subhead,.treatment-card h3,.assistant-card h3,.contact-modal h2,.quick-card strong{font-weight:400;text-transform:none;letter-spacing:-.035em}
.headline,.hero .headline{font-size:clamp(44px,5.1vw,72px);line-height:1.13;max-width:900px}
.headline.medium{font-size:clamp(39px,4.7vw,64px)}
.headline em,.section-title em,.subhead em{color:#80715f;font-weight:400}
.section-title{font-size:clamp(30px,3.1vw,43px);line-height:1.22}
.person-name{font-size:clamp(32px,3.6vw,48px)}
.kicker,.kicker.light{font-weight:500;color:#80715f;letter-spacing:.15em;font-size:9px}
.hero,.page-hero,.page-hero.dark{background:var(--paper);color:var(--ink)}
.hero-left{padding-top:105px;padding-bottom:105px}
.hero-copy,.page-hero.dark .lead{color:#706b63;font-size:15px;line-height:1.9;max-width:620px}
.hero-signature{color:#81705c;font-weight:400;letter-spacing:.1em}
.hero .btn-cream{border-color:#bdb2a4;color:var(--ink)}
.btn,.btn-inline,.cta-top{font-weight:500;text-transform:none;letter-spacing:0;font-size:12px}
.btn{padding:13px 20px;min-height:46px}
.btn-dark{background:transparent;border:1px solid #afa293;color:var(--ink)}
.btn-dark:hover,.btn-light:hover,.hero .btn-cream:hover{background:#eae4da;color:var(--ink)}
.content-section{padding:100px 0}
.content-section.stone{background:#f0ece4}
.content-section.dark,.dark-cta{background:#ebe5db;color:var(--ink)}
.content-section.dark .lead,.content-section.dark .muted,.dark-cta p{color:#6e665c}
.content-section.dark .btn-cream,.dark-cta .btn-cream{color:var(--ink);border-color:#aa9b87}
.device-marquee,.device{border-color:#d2c7b8}.device strong{color:#3b3832;font-weight:400;font-size:23px}.device span{color:#756b5e}
.card,.need-card,.quick-card{background:transparent;box-shadow:none;border-color:#ded9d0}
.card:hover{transform:none}.card:hover,.need-card:hover,.quick-card:hover{background:#f0ebe3;border-color:#c9bcaa}
.card .card-title{font-size:25px}.card .card-footer{font-weight:400;text-transform:none;letter-spacing:0}
.step h3{font-size:23px;line-height:1.3}.step p{font-size:12px}
.timeline-year{font-weight:300;font-size:54px;color:#988a77}
.timeline-item h3,.rich h3,.person-info h4,.treatment-body h4,.need-card strong,.need-detail summary{font-weight:400;letter-spacing:-.025em}
.principle{background:#eae3d8;font-size:27px;font-weight:400}
.price-sidebar{background:#f0ece4}.price-section-header h2{font-size:27px}
.price-subhead{font-size:19px}.price-table td:last-child{font-weight:500}
.price-highlight>div{background:#eee8de}.price-highlight strong{font-weight:400;font-size:28px}
.treatment-card h3{font-size:28px}.treatment-tabs .tab-link{font-size:11px;text-transform:none;letter-spacing:0}
.mobile-nav a{font-weight:400;text-transform:none;letter-spacing:0}
.preview-notice{background:#eae4da;color:#716658;font-weight:400;letter-spacing:.1em}
.site-footer{background:#2b2926}.site-footer .brand-name{color:#f4efe5}.footer-bottom{border-color:#514a41}
@media(max-width:600px){.brand-name{font-size:17px}.hero-left{padding:66px 22px}.headline,.hero .headline{font-size:41px;line-height:1.15}.headline.medium{font-size:38px}.section-title{font-size:31px}.person-name{font-size:34px}.content-section{padding:65px 0}.step h3{font-size:19px}.price-section-header h2{font-size:24px}.treatment-card h3{font-size:23px}.site-footer .brand-name{font-size:20px}}

