.dg-page h1,.dg-page h2,.dg-page h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;margin:0}
.dg-page h2 em,.dg-page h1 em{color:var(--red);font-style:italic}
.dg-page p{margin:0}
.dg-page ul{margin:0;padding:0;list-style:none}
.dg-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:5vw;align-items:center;min-height:calc(100vh - 90px);padding:10vh 8vw;background:radial-gradient(60rem 36rem at 85% 20%,rgba(198,167,125,.18),transparent 60%),var(--navy);color:#fff}
.dg-hero h1{font-size:clamp(38px,4.6vw,70px);line-height:1.02;letter-spacing:-.03em;margin:0 0 28px;color:#fff}
.dg-hero h1 em{display:block;color:var(--gold)!important;font-size:.46em;letter-spacing:0;margin-top:18px;line-height:1.2}
.dg-lead{font-size:19px;line-height:1.75;max-width:620px;color:#ece7e1;margin-bottom:30px!important}
.dg-by{margin-top:24px!important;font-size:14px;color:#cfc8c1}
.dg-rings{width:100%;max-width:380px;justify-self:center;aspect-ratio:1}
.dg-rings circle{fill:none;stroke:var(--gold);stroke-width:1.4}
.dg-rings .dot{fill:var(--gold);stroke:none}
.dg-rings .r{transition:transform 1.6s cubic-bezier(.2,.7,.2,1);transform-box:view-box;transform-origin:center}
.dg-rings.off .r1{transform:translate(-16px,10px)}
.dg-rings.off .r2{transform:translate(14px,-12px)}
.dg-rings.off .r3{transform:translate(-10px,-16px)}
.dg-rings.off .r4{transform:translate(12px,14px)}
.dg-narrow{max-width:760px;margin:0 auto;display:grid;gap:22px}
.dg-head{max-width:800px;margin:0 0 46px}
.dg-head h2,.dg-narrow h2{font-size:clamp(38px,4.4vw,66px);line-height:1}
.dg-head h2{margin:0 0 22px}
.dg-head p:not(.eyebrow){font-size:17px;line-height:1.8}
.dg-get{padding:100px 8vw;background:var(--white)}
.dg-big{display:grid;gap:18px}
.dg-big li{position:relative;padding:0 0 18px 34px;border-bottom:1px solid var(--nude);font-size:18px;line-height:1.7}
.dg-big li:last-child{border-bottom:0}
.dg-big li:before{content:"✦";position:absolute;left:0;top:2px;color:var(--red);font-size:14px}
.dg-big b{color:var(--red);font-weight:600}
.dg-tried{padding:110px 8vw;background:var(--cream)}
.dg-tried p:not(.eyebrow):not(.dg-thesis){font-size:17px;line-height:1.85}
.dg-thesis{font:clamp(26px,3vw,40px)/1.25 "DM Serif Display",Georgia,serif;color:var(--navy)}
.dg-thesis em{color:var(--red);font-style:italic}
.dg-what{padding:110px 8vw;background:var(--white)}
.dg-mirrors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.dg-mirrors article{padding:30px 26px;background:var(--cream);border-top:3px solid var(--red);display:grid;gap:12px;align-content:start}
.dg-mirrors img{width:64px;height:64px;object-fit:contain}
.dg-mirrors h3{font-size:25px;line-height:1.15}
.dg-mirrors p{font-size:15px;line-height:1.7;color:#4a5163}
.dg-how{padding:110px 8vw;background:var(--navy);color:#fff}
.dg-how h2{color:#fff}
.dg-how h2 em{color:var(--gold)!important}
.dg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.dg-steps article{border-top:3px solid rgba(255,255,255,.4);padding-top:22px;display:grid;gap:12px;align-content:start}
.dg-steps article.key{border-top-color:var(--gold)}
.dg-steps span{font:400 52px/1 "DM Serif Display",Georgia,serif;color:var(--gold)}
.dg-steps h3{font-size:30px;color:#fff}
.dg-steps p{color:#e6e1db;line-height:1.75;font-size:15.5px}
.dg-leave{padding:110px 8vw;background:var(--cream)}
.dg-leave .hero-actions{margin-top:10px}
.dg-patterns{padding:110px 8vw;background:var(--white)}
.dg-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dg-cases figure{margin:0;display:grid;gap:18px;align-content:space-between;padding:32px;background:var(--cream);border-top:3px solid var(--gold)}
.dg-cases blockquote{margin:0;font:italic 22px/1.45 "DM Serif Display",Georgia,serif;color:var(--navy)}
.dg-cases figcaption{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8b6f43}
.dg-fit{padding:100px 8vw;background:var(--nude)}
.dg-fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dg-fit-grid>div{background:var(--white);padding:38px;display:grid;gap:18px;align-content:start}
.dg-fit-grid .not{background:transparent;border:1px solid rgba(31,42,68,.3)}
.dg-fit h3{font-size:32px;line-height:1.1}
.dg-fit ul{display:grid;gap:13px}
.dg-fit li{padding-left:26px;position:relative;line-height:1.7}
.dg-fit li:before{content:"";position:absolute;left:3px;top:.7em;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.dg-fit .not li:before{background:transparent;border:1.5px solid #7b8190}
.dg-who{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;align-items:center;padding:110px 8vw;background:var(--white)}
.dg-who-photo img{width:100%;max-height:640px;object-fit:cover;object-position:center top;display:block;box-shadow:0 26px 54px rgba(31,42,68,.14)}
.dg-who h2{font-size:clamp(40px,4.4vw,66px);line-height:1;margin:14px 0 24px}
.dg-who-copy p:not(.eyebrow):not(.dg-thesis){font-size:17px;line-height:1.85;margin-bottom:16px}
.dg-who-copy .dg-thesis{margin-top:30px;padding-top:28px;border-top:1px solid var(--nude)}
.dg-faq{padding:110px 8vw;background:var(--cream);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9vw}
.dg-faq h2{font-size:clamp(40px,4.4vw,66px);line-height:1;margin-top:16px}
.dg-faq details{border-bottom:1px solid rgba(31,42,68,.2);padding:22px 0}
.dg-faq details:first-of-type{border-top:1px solid rgba(31,42,68,.2)}
.dg-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:24px/1.25 "DM Serif Display",Georgia,serif}
.dg-faq summary::-webkit-details-marker{display:none}
.dg-faq summary:after{content:"+";color:var(--red);font-size:28px;line-height:1}
.dg-faq details[open] summary:after{content:"–"}
.dg-faq details p{margin-top:14px;line-height:1.75;color:#5f6573;max-width:620px}
.dg-book{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;align-items:start;padding:120px 8vw;background:var(--teal);color:#fff}
.dg-book h2{font-size:clamp(40px,4.6vw,70px);line-height:.98;margin:14px 0 22px;color:#fff}
.dg-book h2 em{color:var(--gold)!important}
.dg-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:22px!important}
.dg-price b{font:400 64px/1 "DM Serif Display",Georgia,serif;color:var(--gold)}
.dg-price span{color:#e6e1db;font-size:15px}
.dg-book-text{font-size:17px;line-height:1.8;color:#f0ece7}
.dg-mailline{margin-top:22px!important;font-size:14px;color:#e6e1db}
.dg-mailline a{color:#fff}
.dg-card{background:var(--white);color:var(--navy);padding:40px 42px;box-shadow:0 26px 54px rgba(0,0,0,.22)}
.dg-card form{display:grid;gap:22px}
.dg-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dg-page .f{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.dg-page .f small{text-transform:none;letter-spacing:0;font-weight:400;color:#7b8190;font-size:12px}
.dg-page input[type=text],.dg-page input[type=email],.dg-page input[type=tel],.dg-page textarea{width:100%;font:16px/1.5 Inter,Arial,sans-serif;color:var(--navy);background:var(--cream);border:1px solid var(--nude);padding:14px 16px;border-radius:0;text-transform:none;letter-spacing:0;font-weight:400}
.dg-page textarea{min-height:130px;resize:vertical}
.dg-page input:focus,.dg-page textarea:focus{outline:none;border-color:var(--red);background:var(--white)}
.dg-card fieldset{border:0;margin:0;padding:0;min-width:0}
.dg-card legend{padding:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:12px}
.dg-opts{display:flex;flex-wrap:wrap;gap:10px}
.dg-opts label{position:relative;display:block}
.dg-opts input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.dg-opts span{display:block;padding:10px 16px;border:1px solid var(--nude);background:var(--cream);font-size:14px;transition:.15s}
.dg-opts input:hover+span{border-color:var(--red)}
.dg-opts input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.dg-opts input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.dg-check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.6;color:#5f6573}
.dg-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--red);flex:none}
.dg-err{color:var(--red);font-weight:600;font-size:14px}
.dg-err[hidden],.dg-done[hidden],#dgForm[hidden]{display:none}
.dg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.dg-done{display:grid;gap:14px;padding:20px 0}
.dg-done h3{font-size:40px;line-height:1}
.dg-done p{line-height:1.75;color:#4a5163}
.dg-done a{color:var(--red)}
.dg-more{padding:56px 8vw;background:var(--nude);display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between}
.dg-more p{flex:1 1 440px;line-height:1.75}
@media(max-width:1000px){
.dg-hero{grid-template-columns:1fr;min-height:0;padding:9vh 6vw}
.dg-rings{max-width:240px;order:-1}
.dg-get,.dg-tried,.dg-what,.dg-how,.dg-leave,.dg-patterns,.dg-fit,.dg-who,.dg-faq,.dg-book{padding:80px 6vw}
.dg-mirrors{grid-template-columns:repeat(2,minmax(0,1fr))}
.dg-steps,.dg-cases{grid-template-columns:1fr}
.dg-who,.dg-faq,.dg-book{grid-template-columns:1fr;gap:40px}
.dg-who-photo img{max-height:480px}
.dg-more{padding:46px 6vw}
}
@media(max-width:620px){
.dg-mirrors,.dg-fit-grid,.dg-row{grid-template-columns:1fr}
.dg-card{padding:28px 22px}
.dg-fit-grid>div{padding:28px 22px}
.dg-price b{font-size:52px}
}
@media(prefers-reduced-motion:reduce){.dg-rings .r{transition:none}}
