.dcc-app,
.dcc-app *{
    box-sizing:border-box;
}

.dcc-app{
    --dcc-page:#f7f2ea;
    --dcc-card:#fffdfa;
    --dcc-card-soft:#fff9f0;
    --dcc-line:rgba(139,102,61,.18);
    --dcc-line-strong:rgba(213,184,143,.54);
    --dcc-text:#23160d;
    --dcc-muted:#755c45;
    --dcc-gold:#d49d3d;
    --dcc-gold-2:#f6d07a;
    --dcc-brown:#5d3114;
    --dcc-dark:#140904;
    --dcc-dark-2:#2a1307;
    --dcc-dark-3:#4a2209;
    --dcc-teal:#1e7b8e;
    --dcc-orange:#d35b1e;
    --dcc-purple:#6d4f99;
    --dcc-green:#0d6b5a;
    --dcc-shadow:0 24px 60px rgba(43,23,8,.16);
    width:100%;
    max-width:1320px;
    margin:0 auto;
    color:var(--dcc-text);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body:has(.dcc-app) .app-stage-section,
.app-stage-section-first{
    padding-top:18px!important;
}

body:has(.dcc-app) .app-stage-panel,
body:has(.dcc-app) .app-main-panel,
.dcc-host-panel,
.app-first-screen-panel{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
}

.dcc-stage{
    padding-top:18px!important;
}

.dcc-hero{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:22px;
    padding:34px 34px 28px;
    border-radius:36px;
    overflow:hidden;
    border:1px solid rgba(255,239,214,.55);
    background:
        linear-gradient(90deg,rgba(13,6,2,.97) 0%,rgba(22,10,3,.92) 27%,rgba(42,18,5,.54) 47%,rgba(82,40,10,.10) 66%,rgba(82,40,10,0) 100%),
        var(--dcc-hero-dog) right -34px top -58px / auto 126% no-repeat,
        linear-gradient(180deg,#130804 0%,#3c1c08 100%);
    box-shadow:0 34px 90px rgba(28,14,6,.34);
}

.dcc-hero:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 82% 15%,rgba(251,209,111,.18),transparent 22%),
        radial-gradient(circle at 88% 26%,rgba(248,194,79,.07),transparent 28%),
        radial-gradient(circle at 12% 110%,rgba(255,183,60,.22),transparent 22%);
    pointer-events:none;
}

.dcc-hero__copy,
.dcc-main{
    position:relative;
    z-index:1;
}

.dcc-hero__copy{
    display:flex;
    flex-direction:column;
    gap:0;
}

.dcc-brand-row{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding-right:360px;
}

.dcc-brand-icon{
    width:68px;
    height:68px;
    flex:0 0 68px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(180deg,rgba(255,240,214,.14),rgba(255,201,95,.05));
    border:1px solid rgba(246,207,126,.72);
    box-shadow:0 0 0 2px rgba(255,230,173,.08),0 10px 28px rgba(0,0,0,.22);
}

.dcc-brand-icon img{
    width:44px;
    height:44px;
    display:block;
}

.dcc-brand-copy h2,
.dcc-panel__head h3,
.dcc-tool h3,
.dcc-education h3{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    letter-spacing:-.03em;
}

.dcc-brand-copy h2{
    color:#f8f2ea;
    font-size:clamp(40px,5.4vw,72px);
    line-height:.96;
}

.dcc-brand-copy h2 span{
    color:#e0ad57;
}

.dcc-brand-copy p{
    max-width:700px;
    margin:18px 0 0;
    color:rgba(255,245,232,.92);
    font-size:18px;
    line-height:1.45;
}

.dcc-mini-stats{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin:28px 0 18px;
    padding-right:370px;
}

.dcc-mini-stats span{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:0 20px;
    border-radius:18px;
    border:1px solid rgba(223,166,84,.48);
    background:linear-gradient(180deg,rgba(75,39,15,.66),rgba(41,20,7,.9));
    color:#f6e6d1;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.18);
    font-size:15px;
    font-weight:500;
}

.dcc-mini-stats i{
    color:#f0c364;
    font-style:normal;
    font-size:18px;
    line-height:1;
}

.dcc-mini-stats strong{
    color:#ffffff;
    font-weight:800;
}

.dcc-jump-nav{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.dcc-jump-nav a{
    text-decoration:none!important;
}

.dcc-jump-card{
    display:flex;
    align-items:center;
    gap:16px;
    min-height:110px;
    padding:16px 18px;
    border-radius:22px;
    border:1px solid rgba(226,171,99,.42);
    background:linear-gradient(180deg,rgba(84,44,17,.74),rgba(46,23,8,.95));
    color:#fff1de!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.18);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dcc-jump-card:hover{
    transform:translateY(-2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 46px rgba(0,0,0,.24);
    border-color:rgba(248,194,99,.64);
}

.dcc-jump-card__icon{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    font-size:28px;
    line-height:1;
    background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),rgba(255,255,255,.02));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.18);
}

.dcc-jump-card--protein .dcc-jump-card__icon{background:radial-gradient(circle at 30% 30%,rgba(255,150,98,.45),rgba(165,59,24,.2));}
.dcc-jump-card--activity .dcc-jump-card__icon{background:radial-gradient(circle at 30% 30%,rgba(88,221,223,.36),rgba(22,122,132,.16));}
.dcc-jump-card--treats .dcc-jump-card__icon{background:radial-gradient(circle at 30% 30%,rgba(255,220,92,.42),rgba(184,121,17,.14));}
.dcc-jump-card--goal .dcc-jump-card__icon{background:radial-gradient(circle at 30% 30%,rgba(182,149,255,.4),rgba(101,66,167,.16));}

.dcc-jump-card__copy{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
}

.dcc-jump-card__copy strong{
    color:#fff8ef;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    font-weight:400;
    letter-spacing:-.03em;
}

.dcc-jump-card__copy small{
    color:rgba(255,240,222,.86);
    font-size:14px;
    font-weight:500;
}

.dcc-jump-card__arrow{
    margin-left:auto;
    color:#fff2dc;
    font-size:34px;
    line-height:1;
}

.dcc-panel{
    border-radius:30px;
    background:var(--dcc-card);
    border:1px solid rgba(210,188,156,.62);
    box-shadow:0 22px 48px rgba(79,49,21,.16);
}

.dcc-main{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:28px;
}

.dcc-panel__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.dcc-card-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:40px;
    padding:0 18px;
    border-radius:16px;
    border:1px solid #ead8c2;
    background:#f8efe3;
    color:#4c3f35;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.dcc-card-label:before{
    content:"✦";
    color:#d4a148;
    font-size:14px;
    line-height:1;
}

.dcc-panel__head h3{
    margin-top:14px;
    color:#1f140d;
    font-size:clamp(32px,3vw,58px);
    line-height:.98;
}

.dcc-soft-btn,
.dcc-primary-btn,
.dcc-activity-buttons button{
    border:0;
    border-radius:20px;
    font-weight:800;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.dcc-soft-btn:hover,
.dcc-primary-btn:hover,
.dcc-activity-buttons button:hover{
    transform:translateY(-1px);
}

.dcc-soft-btn{
    min-height:56px;
    padding:0 22px;
    background:#fffaf4;
    color:#a66f2c;
    border:1px solid #edd8bc;
    box-shadow:0 10px 24px rgba(122,89,49,.08);
    white-space:nowrap;
}

.dcc-soft-btn:before{
    content:"🐕";
    margin-right:10px;
}

.dcc-unit-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,160px));
    gap:0;
    width:max-content;
    border-radius:20px;
    border:1px solid #e7d7bf;
    background:#f6ede0;
    padding:0;
    overflow:hidden;
}

.dcc-unit-switch label{
    display:block;
    cursor:pointer;
}

.dcc-unit-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.dcc-unit-switch span{
    display:grid;
    place-items:center;
    min-height:62px;
    min-width:160px;
    color:#7d674f;
    font-size:18px;
    font-weight:800;
}

.dcc-unit-switch input:checked + span{
    background:linear-gradient(180deg,#5c2f12,#271208);
    color:#fff3dd;
    box-shadow:0 14px 28px rgba(31,15,6,.18);
}

.dcc-field-grid,
.dcc-tool-form{
    display:grid;
    gap:16px;
}

.dcc-field-grid--main{
    grid-template-columns:minmax(150px,.86fr) repeat(3,minmax(0,1fr));
    align-items:end;
}

.dcc-tool-form{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:20px;
}

.dcc-tool-form--two{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
}

.dcc-field{
    display:flex;
    flex-direction:column;
    gap:9px;
    min-width:0;
}

.dcc-field > span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#49392c;
    font-size:16px;
    font-weight:700;
}

.dcc-field > span:after{
    content:"ⓘ";
    color:#b89d7f;
    font-size:15px;
    line-height:1;
}

.dcc-tool-form .dcc-field > span:after,
.dcc-education .dcc-card-label:before,
.dcc-disclaimer .dcc-card-label:before{
    content:"";
    display:none;
}

.dcc-field input,
.dcc-field select,
.dcc-input-unit{
    width:100%;
    min-height:58px;
    border-radius:16px;
    border:1px solid #e6d5bf;
    background:#fffaf4;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(110,79,40,.04);
}

.dcc-field input,
.dcc-field select{
    padding:0 18px;
    color:#24170f;
    font:600 16px/1.2 Inter,system-ui,sans-serif;
    outline:none;
}

.dcc-input-unit{
    display:flex;
    align-items:center;
    overflow:hidden;
}

.dcc-input-unit input{
    min-height:56px;
    border:0;
    background:transparent;
    box-shadow:none;
    flex:1 1 auto;
}

.dcc-input-unit em{
    min-width:58px;
    align-self:stretch;
    display:grid;
    place-items:center;
    border-left:1px solid #eadbc7;
    color:#9b7d5c;
    font-style:normal;
    font-weight:700;
    background:#fef8f1;
}

.dcc-field input:focus,
.dcc-field select:focus,
.dcc-input-unit:focus-within{
    border-color:#ddb87c;
    box-shadow:0 0 0 4px rgba(232,196,134,.26), inset 0 1px 0 rgba(255,255,255,.9);
}

.dcc-profile-hint{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    min-height:54px;
    padding:12px 16px;
    border:1px solid #dae7e1;
    border-radius:14px;
    background:#eef5f2;
    color:#45716b;
    font-size:14px;
    line-height:1.45;
}

.dcc-profile-hint:before{
    content:"🐾";
    flex:0 0 auto;
}

.dcc-result{
    padding:18px;
    border-radius:28px;
    background:
        radial-gradient(circle at 58% 34%,rgba(198,112,31,.26),transparent 24%),
        linear-gradient(90deg,#100804 0%,#1c0e06 25%,#47230a 56%,#160b05 100%);
    color:#fff2df;
    box-shadow:0 24px 56px rgba(28,14,6,.24);
}

.dcc-result__head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:start;
    margin-bottom:18px;
}

.dcc-result__eyebrow{
    display:flex;
    align-items:center;
    gap:10px;
    color:#f4dfb7;
    font-size:15px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.dcc-result__eyebrow span{
    color:#f4c666;
    font-size:18px;
}

.dcc-result__formula,
.dcc-breakdown{
    margin:8px 0 0;
    color:rgba(255,233,199,.82);
    font-size:15px;
    line-height:1.45;
}

.dcc-result__score{
    text-align:right;
}

.dcc-result__score small{
    display:block;
    margin-bottom:6px;
    color:#fff6e7;
    font-size:16px;
    font-weight:700;
    letter-spacing:.08em;
}

.dcc-result__score strong{
    display:block;
    color:#f6c35e;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(50px,6vw,86px);
    line-height:.9;
    letter-spacing:-.05em;
}

.dcc-result__score strong em{
    color:#fff7ec;
    font-size:.38em;
    font-style:normal;
    font-family:Georgia,"Times New Roman",serif;
}

.dcc-result__status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    margin-top:8px;
    padding:0 14px;
    border-radius:999px;
    background:#0c6571;
    color:#f5ffff;
    font-size:14px;
    font-weight:700;
}

.dcc-result-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.dcc-metric{
    display:flex;
    align-items:flex-start;
    gap:16px;
    min-height:154px;
    padding:20px 18px;
    border-radius:22px;
    border:1px solid rgba(246,214,159,.24);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.dcc-metric--rer{background:linear-gradient(180deg,rgba(7,36,41,.66),rgba(5,18,20,.92));}
.dcc-metric--food{background:linear-gradient(180deg,rgba(67,26,7,.7),rgba(37,16,7,.92));}
.dcc-metric--treats{background:linear-gradient(180deg,rgba(72,47,11,.72),rgba(36,25,7,.92));}
.dcc-metric--protein{background:linear-gradient(180deg,rgba(52,24,74,.72),rgba(24,11,35,.92));}

.dcc-metric__icon{
    width:56px;
    height:56px;
    flex:0 0 56px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),rgba(255,255,255,.05));
    font-size:26px;
    line-height:1;
}

.dcc-metric__copy{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.dcc-metric__copy small{
    color:#fff0d4;
    font-size:15px;
    font-weight:700;
    line-height:1.25;
}

.dcc-metric__copy b{
    color:#fffefc;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(28px,2.6vw,52px);
    font-weight:400;
    line-height:.95;
    letter-spacing:-.04em;
}

.dcc-metric__copy b em{
    font-size:.52em;
    font-style:normal;
}

.dcc-metric__copy p{
    margin:0;
    color:rgba(255,240,222,.82);
    font-size:14px;
    line-height:1.35;
}

.dcc-tool-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:24px;
}

.dcc-tool{
    padding:24px;
    scroll-margin-top:120px;
}

.dcc-tool p,
.dcc-education p,
.dcc-disclaimer p{
    margin:12px 0 0;
    color:var(--dcc-muted);
    line-height:1.65;
}

.dcc-tool h3,
.dcc-education h3{
    margin-top:12px;
    color:#1f140d;
    font-size:36px;
    line-height:1.02;
}

.dcc-tool-result{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-top:20px;
    padding:18px;
    border-radius:22px;
    background:#fff4dd;
    border:1px solid rgba(220,185,130,.38);
}

.dcc-tool-result--split{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.dcc-tool-result strong{
    color:#23160d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
    line-height:.95;
}

.dcc-tool-result small{
    color:#806148;
    font-size:13px;
    font-weight:700;
}

.dcc-primary-btn{
    min-height:58px;
    padding:0 20px;
    background:linear-gradient(180deg,#4f260d,#251107);
    color:#ffe8be;
    box-shadow:0 14px 26px rgba(43,25,12,.15);
}

.dcc-activity-buttons{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.dcc-activity-buttons button{
    min-height:52px;
    padding:0 12px;
    background:#fff4d8;
    color:#6e421d;
    border:1px solid rgba(149,87,24,.12);
}

.dcc-activity-buttons button.is-active{
    background:#245b46;
    color:#f7ffed;
    box-shadow:0 16px 26px rgba(36,91,70,.22);
}

.dcc-education{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
    gap:20px;
    margin-top:24px;
}

.dcc-education__main,
.dcc-disclaimer{
    padding:24px;
}

.dcc-education ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:18px 0 0;
    padding:0;
    list-style:none;
}

.dcc-education li{
    padding:14px;
    border:1px solid rgba(137,82,25,.13);
    border-radius:18px;
    background:#fff8e8;
    color:#6f5138;
    line-height:1.45;
}

.dcc-disclaimer{
    background:linear-gradient(180deg,#fff9ea,#fef1cc);
}

@media (max-width:1180px){
    .dcc-brand-row,
    .dcc-mini-stats{
        padding-right:290px;
    }
    .dcc-jump-nav{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .dcc-field-grid--main,
    .dcc-result-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:980px){
    .dcc-app{
        max-width:100%;
    }
    .dcc-hero{
        padding:22px;
        border-radius:28px;
        background:
            linear-gradient(180deg,rgba(13,6,2,.96) 0%,rgba(22,10,3,.88) 38%,rgba(42,18,5,.52) 66%,rgba(82,40,10,.12) 100%),
            var(--dcc-hero-dog) right -22px top -26px / auto 88% no-repeat,
            linear-gradient(180deg,#130804 0%,#3c1c08 100%);
    }
    .dcc-brand-row,
    .dcc-mini-stats{
        padding-right:0;
    }
    .dcc-brand-row{
        align-items:center;
    }
    .dcc-brand-copy p{
        max-width:none;
    }
    .dcc-jump-nav,
    .dcc-tool-grid,
    .dcc-education,
    .dcc-tool-form,
    .dcc-activity-buttons{
        grid-template-columns:1fr;
    }
    .dcc-result__head,
    .dcc-field-grid--main{
        grid-template-columns:1fr;
    }
    .dcc-result__score{
        text-align:left;
    }
    .dcc-tool-form--two{
        grid-template-columns:1fr;
    }
    .dcc-education ul{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .dcc-hero{
        padding:14px;
        border-radius:24px;
        gap:14px;
    }
    .dcc-brand-row{
        gap:12px;
        align-items:flex-start;
    }
    .dcc-brand-icon{
        width:52px;
        height:52px;
        flex-basis:52px;
    }
    .dcc-brand-icon img{
        width:34px;
        height:34px;
    }
    .dcc-brand-copy h2{
        font-size:clamp(26px,10vw,48px);
        line-height:1;
    }
    .dcc-brand-copy p{
        margin-top:12px;
        font-size:15px;
        line-height:1.5;
    }
    .dcc-mini-stats{
        gap:10px;
        margin:18px 0 12px;
    }
    .dcc-mini-stats span{
        width:100%;
        min-height:48px;
        padding:0 14px;
        font-size:14px;
    }
    .dcc-jump-nav,
    .dcc-result-grid,
    .dcc-tool-result--split{
        grid-template-columns:1fr;
    }
    .dcc-jump-card{
        min-height:88px;
        padding:14px;
        gap:12px;
    }
    .dcc-jump-card__icon{
        width:46px;
        height:46px;
        flex-basis:46px;
        border-radius:14px;
        font-size:22px;
    }
    .dcc-jump-card__copy strong{
        font-size:18px;
    }
    .dcc-jump-card__copy small{
        font-size:13px;
    }
    .dcc-jump-card__arrow{
        font-size:26px;
    }
    .dcc-main,
    .dcc-tool,
    .dcc-education__main,
    .dcc-disclaimer{
        padding:16px;
        border-radius:22px;
    }
    .dcc-panel__head,
    .dcc-result__head{
        grid-template-columns:1fr;
        display:grid;
    }
    .dcc-panel__head{
        gap:14px;
    }
    .dcc-panel__head h3,
    .dcc-tool h3,
    .dcc-education h3{
        font-size:24px;
    }
    .dcc-soft-btn{
        width:100%;
        justify-content:center;
    }
    .dcc-unit-switch{
        width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .dcc-unit-switch span{
        min-width:0;
        min-height:50px;
        font-size:17px;
    }
    .dcc-field > span{
        font-size:15px;
    }
    .dcc-field input,
    .dcc-field select,
    .dcc-input-unit{
        min-height:52px;
    }
    .dcc-input-unit input{
        min-height:50px;
    }
    .dcc-profile-hint{
        align-items:flex-start;
        font-size:13px;
    }
    .dcc-result{
        padding:14px;
        border-radius:22px;
    }
    .dcc-result__eyebrow{
        font-size:13px;
    }
    .dcc-result__formula,
    .dcc-breakdown{
        font-size:13px;
    }
    .dcc-result__score small{
        font-size:13px;
    }
    .dcc-result__score strong{
        font-size:52px;
    }
    .dcc-result__status{
        min-height:30px;
        font-size:12px;
    }
    .dcc-metric{
        min-height:0;
        padding:14px;
        gap:12px;
    }
    .dcc-metric__icon{
        width:42px;
        height:42px;
        flex-basis:42px;
        border-radius:14px;
        font-size:20px;
    }
    .dcc-metric__copy small{
        font-size:13px;
    }
    .dcc-metric__copy b{
        font-size:32px;
    }
    .dcc-metric__copy p{
        font-size:13px;
    }
    .dcc-tool-result strong{
        font-size:28px;
    }
}

@media (max-width:640px){
    .dcc-hero{
        background:
            linear-gradient(180deg,rgba(13,6,2,.97) 0%,rgba(22,10,3,.90) 44%,rgba(42,18,5,.58) 72%,rgba(82,40,10,.16) 100%),
            var(--dcc-hero-dog) right -18px top -16px / auto 70% no-repeat,
            linear-gradient(180deg,#130804 0%,#3c1c08 100%);
    }
}

/* ===== DCC visual refinement v1.0.5 ===== */
.dcc-hero{
    background:
        linear-gradient(90deg,rgba(13,6,2,.97) 0%,rgba(22,10,3,.96) 30%,rgba(42,18,5,.92) 48%,rgba(82,40,10,.52) 67%,rgba(82,40,10,.16) 100%),
        var(--dcc-hero-dog) center right / cover no-repeat,
        linear-gradient(180deg,#130804 0%,#3c1c08 100%)!important;
}

.dcc-brand-row{
    display:block;
    gap:0;
    padding-right:360px;
}

.dcc-brand-icon{display:none!important;}

.dcc-tool-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}

.dcc-tool{
    position:relative;
    overflow:hidden;
    padding:24px;
    color:#f4e4cc;
    background:linear-gradient(180deg,#071514,#050909 100%);
    border:1px solid rgba(223,160,70,.66);
    box-shadow:0 18px 48px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,210,130,.06);
}

.dcc-tool:before,
.dcc-education__main--visual:before,
.dcc-disclaimer--visual:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
}

.dcc-tool:after,
.dcc-education__main--visual:after,
.dcc-disclaimer--visual:after{
    content:"🐾";
    position:absolute;
    right:18px;
    top:16px;
    color:rgba(255,194,100,.12);
    font-size:54px;
    line-height:1;
    pointer-events:none;
}

.dcc-tool--protein{
    background:
        radial-gradient(circle at 72% 86%, rgba(30,170,190,.26), transparent 24%),
        linear-gradient(180deg,#071516 0%,#071211 100%);
    border-color:rgba(222,170,78,.72);
}
.dcc-tool--protein:before{
    background:
        radial-gradient(circle at 88% 96%, rgba(74,222,241,.42), transparent 18%),
        radial-gradient(circle at 94% 88%, rgba(255,193,88,.20), transparent 22%);
}

.dcc-tool--activity{
    background:
        radial-gradient(circle at 84% 74%, rgba(121,255,78,.24), transparent 23%),
        linear-gradient(180deg,#092114 0%,#07170f 100%);
    border-color:rgba(167,190,78,.6);
}
.dcc-tool--activity:before{
    background:
        radial-gradient(circle at 85% 82%, rgba(171,255,94,.3), transparent 18%),
        radial-gradient(circle at 96% 22%, rgba(255,217,97,.18), transparent 18%);
}

.dcc-tool--treats{
    background:
        radial-gradient(circle at 86% 90%, rgba(255,124,57,.18), transparent 22%),
        linear-gradient(180deg,#1b1109 0%,#120a06 100%);
    border-color:rgba(222,108,43,.72);
}
.dcc-tool--treats:before{
    background:radial-gradient(circle at 86% 92%, rgba(252,176,81,.26), transparent 18%);
}

.dcc-tool--goal{
    background:
        radial-gradient(circle at 88% 90%, rgba(182,115,255,.18), transparent 22%),
        linear-gradient(180deg,#190d21 0%,#0f0915 100%);
    border-color:rgba(161,110,221,.74);
}
.dcc-tool--goal:before{
    background:radial-gradient(circle at 86% 88%, rgba(215,115,255,.32), transparent 19%);
}

.dcc-tool .dcc-card-label,
.dcc-education__main .dcc-card-label,
.dcc-disclaimer .dcc-card-label{
    position:relative;
    min-height:44px;
    padding:0 16px 0 54px;
    border-radius:16px;
    background:rgba(14,18,17,.44);
    border:1px solid currentColor;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 26px rgba(0,0,0,.18);
    font-size:12px;
    letter-spacing:.18em;
    color:#e2c56e;
}

.dcc-tool .dcc-card-label:before,
.dcc-education__main .dcc-card-label:before,
.dcc-disclaimer .dcc-card-label:before{
    display:grid!important;
    place-items:center;
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(255,199,97,.24),rgba(108,64,16,.22));
    border:1px solid rgba(246,201,112,.52);
    box-shadow:0 0 0 2px rgba(255,221,169,.05);
    color:#ffd46f;
    font-size:18px;
    line-height:1;
}

.dcc-tool--protein .dcc-card-label{color:#e6b35b;}
.dcc-tool--protein .dcc-card-label:before{content:"🥩";}
.dcc-tool--activity .dcc-card-label{color:#d9ca73;}
.dcc-tool--activity .dcc-card-label:before{content:"🐕";}
.dcc-tool--treats .dcc-card-label{color:#e49b53;}
.dcc-tool--treats .dcc-card-label:before{content:"🦴";}
.dcc-tool--goal .dcc-card-label{color:#cc9ff4;}
.dcc-tool--goal .dcc-card-label:before{content:"⚖️";}

.dcc-education__main .dcc-card-label{color:#dcc66a;}
.dcc-education__main .dcc-card-label:before{content:"🐾";}
.dcc-disclaimer .dcc-card-label{color:#e8c56a;}
.dcc-disclaimer .dcc-card-label:before{content:"🛡️";}

.dcc-tool h3,
.dcc-education h3{
    margin-top:14px;
    color:#fff2dc;
    font-size:30px;
    line-height:1.02;
}

.dcc-tool p,
.dcc-education p,
.dcc-disclaimer p{
    color:rgba(255,236,210,.9);
    font-size:15px;
    line-height:1.55;
}

.dcc-tool .dcc-field > span{
    color:#f7e7cd;
    font-size:15px;
    font-weight:700;
}

.dcc-tool .dcc-field > span:after{
    color:rgba(248,210,157,.72);
}

.dcc-tool .dcc-field input,
.dcc-tool .dcc-field select,
.dcc-tool .dcc-input-unit{
    min-height:52px;
    border-radius:12px;
    border:1px solid rgba(224,161,75,.35);
    background:rgba(11,8,7,.56);
    color:#fff0d9;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.dcc-tool .dcc-field input::placeholder{color:rgba(255,240,217,.56);}
.dcc-tool .dcc-field select option{color:#1f140d;}

.dcc-tool-form{
    margin-top:18px;
    gap:12px;
}

.dcc-tool-form--two{
    grid-template-columns:minmax(0,1fr) 170px;
}

.dcc-tool-result{
    position:relative;
    overflow:hidden;
    margin-top:16px;
    padding:18px 18px 16px;
    border-radius:16px;
    border:1px solid rgba(225,170,88,.42);
    background:rgba(15,9,7,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.dcc-tool-result:before{
    content:"";
    position:absolute;
    inset:auto -20px -26px auto;
    width:180px;
    height:90px;
    border-radius:50%;
    background:radial-gradient(circle at center, rgba(245,184,80,.24), transparent 62%);
    pointer-events:none;
}

.dcc-tool-result strong{
    color:#ffd36d;
    font-size:54px;
    line-height:.92;
}

.dcc-tool-result strong small,
.dcc-tool-result strong em{font-size:.55em;}

.dcc-tool-result small{
    color:rgba(255,238,214,.88);
    font-size:13px;
    font-weight:500;
    letter-spacing:0;
}

.dcc-tool--protein .dcc-tool-result strong,
.dcc-tool--activity .dcc-tool-result strong{color:#e9f4a6;}
.dcc-tool--protein .dcc-tool-result strong{color:#ffd36d;}
.dcc-tool--goal .dcc-tool-result strong{color:#e6a6ff;}
.dcc-tool--treats .dcc-tool-result strong{color:#ff9a55;}

.dcc-tool-result--split{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:0;
}

.dcc-tool-result--split > span{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:18px;
}

.dcc-tool-result--split > span + span:before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:1px;
    background:rgba(255,192,109,.24);
}

.dcc-primary-btn{
    min-height:52px;
    border-radius:12px;
    background:linear-gradient(180deg,#6a330f,#2d1407);
    color:#ffe2b2;
    border:1px solid rgba(239,169,79,.5);
    box-shadow:0 10px 22px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,201,111,.12);
}

.dcc-activity-buttons{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}

.dcc-activity-buttons button{
    min-height:46px;
    border-radius:14px;
    background:rgba(22,17,11,.58);
    color:#fff0d8;
    border:1px solid rgba(228,168,74,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    font-size:16px;
    font-weight:600;
}

.dcc-activity-buttons button.is-active{
    background:linear-gradient(180deg,#809f22,#445f13);
    color:#fffce7;
    border-color:rgba(217,255,120,.82);
    box-shadow:0 0 0 3px rgba(180,255,90,.14), 0 16px 30px rgba(26,45,11,.34), inset 0 1px 0 rgba(255,255,255,.18);
}

.dcc-tool--activity .dcc-tool-result{
    padding-right:140px;
}
.dcc-tool--activity .dcc-tool-result:after{
    content:"📈";
    position:absolute;
    right:20px;
    bottom:16px;
    color:rgba(214,255,134,.7);
    font-size:64px;
    line-height:1;
}
.dcc-tool--protein .dcc-tool-result{padding-right:118px;}
.dcc-tool--protein .dcc-tool-result:after{
    content:"🛡️";
    position:absolute;
    right:18px;
    bottom:10px;
    color:rgba(244,196,93,.74);
    font-size:68px;
    line-height:1;
}
.dcc-tool--goal .dcc-tool-result{padding-right:120px;}
.dcc-tool--goal .dcc-tool-result:after{
    content:"🎯";
    position:absolute;
    right:18px;
    bottom:10px;
    color:rgba(222,160,255,.72);
    font-size:66px;
    line-height:1;
}
.dcc-tool--treats .dcc-tool-result:after{
    content:"🦴";
    position:absolute;
    right:18px;
    bottom:8px;
    color:rgba(255,188,107,.38);
    font-size:54px;
    line-height:1;
}

.dcc-education{
    display:grid;
    grid-template-columns:minmax(0,1.95fr) minmax(320px,.72fr);
    gap:18px;
    margin-top:18px;
}

.dcc-education__main--visual,
.dcc-disclaimer--visual{
    position:relative;
    overflow:hidden;
    color:#f7e6cc;
    border:1px solid rgba(227,164,70,.65);
}

.dcc-education__main--visual{
    background:
        radial-gradient(circle at 18% 92%, rgba(57,210,229,.22), transparent 22%),
        linear-gradient(180deg,#021418 0%,#08131b 100%);
}

.dcc-education__main--visual:before{
    background:radial-gradient(circle at 22% 96%, rgba(70,241,255,.24), transparent 18%);
}

.dcc-disclaimer--visual{
    background:
        radial-gradient(circle at 18% 92%, rgba(255,163,58,.16), transparent 24%),
        linear-gradient(180deg,#221205 0%,#0f0804 100%);
}

.dcc-disclaimer--visual:before{
    background:radial-gradient(circle at 16% 96%, rgba(255,171,80,.2), transparent 18%);
}

.dcc-education__main--visual h3{
    font-size:38px;
}

.dcc-education ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}

.dcc-education li{
    position:relative;
    min-height:106px;
    padding:18px 18px 18px 82px;
    border-radius:18px;
    border:1px solid rgba(234,182,89,.44);
    background:rgba(10,8,7,.26);
    color:#f7ead5;
    line-height:1.45;
}

.dcc-education li strong{
    display:block;
    margin-bottom:4px;
    color:#fff2dc;
    font-size:18px;
}

.dcc-education li:before{
    content:"";
    position:absolute;
    left:16px;
    top:18px;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:999px;
    border:1px solid rgba(247,210,138,.55);
    background:rgba(13,18,18,.68);
    box-shadow:0 0 0 2px rgba(255,219,160,.05);
    color:#ffe080;
    font-size:26px;
    line-height:1;
}

.dcc-education li:nth-child(1){background:linear-gradient(180deg,rgba(8,56,66,.36),rgba(7,31,36,.3));}
.dcc-education li:nth-child(1):before{content:"ƒx";color:#7af2ff;font-style:italic;font-family:Georgia,"Times New Roman",serif;font-size:23px;}
.dcc-education li:nth-child(2){background:linear-gradient(180deg,rgba(28,70,14,.36),rgba(16,35,9,.28));}
.dcc-education li:nth-child(2):before{content:"↗";color:#d9ff6c;font-size:30px;}
.dcc-education li:nth-child(3){background:linear-gradient(180deg,rgba(69,36,8,.36),rgba(41,21,7,.28));}
.dcc-education li:nth-child(3):before{content:"🦴";color:#ffc260;font-size:25px;}
.dcc-education li:nth-child(4){background:linear-gradient(180deg,rgba(69,28,88,.36),rgba(32,13,42,.28));}
.dcc-education li:nth-child(4):before{content:"⚖️";color:#dc9fff;font-size:24px;}

.dcc-disclaimer--visual{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.dcc-disclaimer--visual p{
    max-width:460px;
    margin-top:32px;
    font-size:17px;
    line-height:1.75;
}

.dcc-disclaimer--visual:after{
    content:"🐕";
    right:34px;
    bottom:18px;
    top:auto;
    color:rgba(255,192,96,.24);
    font-size:120px;
}

@media (max-width:1180px){
    .dcc-brand-row{padding-right:320px;}
    .dcc-tool-grid{grid-template-columns:1fr;}
    .dcc-education{grid-template-columns:1fr;}
}

@media (max-width:980px){
    .dcc-hero{
        background:
            linear-gradient(180deg,rgba(13,6,2,.97) 0%,rgba(22,10,3,.96) 42%,rgba(42,18,5,.84) 65%,rgba(82,40,10,.42) 100%),
            var(--dcc-hero-dog) center right / cover no-repeat,
            linear-gradient(180deg,#130804 0%,#3c1c08 100%)!important;
    }
    .dcc-brand-row{padding-right:0;}
}

@media (max-width:640px){
    .dcc-tool-grid{gap:14px;}
    .dcc-tool,
    .dcc-education__main,
    .dcc-disclaimer{padding:16px;}
    .dcc-tool h3,
    .dcc-education__main--visual h3{font-size:24px;}
    .dcc-tool-result strong{font-size:42px;}
    .dcc-tool-form--two{grid-template-columns:1fr;}
    .dcc-tool--activity .dcc-tool-result,
    .dcc-tool--protein .dcc-tool-result,
    .dcc-tool--goal .dcc-tool-result{padding-right:18px;}
    .dcc-tool--activity .dcc-tool-result:after,
    .dcc-tool--protein .dcc-tool-result:after,
    .dcc-tool--goal .dcc-tool-result:after,
    .dcc-tool--treats .dcc-tool-result:after{display:none;}
    .dcc-education ul{grid-template-columns:1fr;gap:12px;}
    .dcc-education li{padding:16px 16px 16px 70px;min-height:0;}
    .dcc-education li:before{left:12px;top:14px;width:42px;height:42px;font-size:22px;}
    .dcc-disclaimer--visual:after{font-size:82px;right:16px;bottom:8px;}
}

/* ===== Mobile-only calculator flow and result popup v1.0.6 ===== */
.dcc-mobile-calc-btn,
.dcc-mobile-modal{
    display:none;
}

@media (max-width:767px){
    .dcc-hero__copy{
        display:contents;
    }

    .dcc-brand-row{
        order:1;
    }

    .dcc-main{
        order:2;
    }

    .dcc-mini-stats{
        order:3;
    }

    .dcc-jump-nav{
        order:4;
    }

    .dcc-main > .dcc-result{
        display:none!important;
    }

    .dcc-mobile-calc-btn{
        display:flex;
        align-items:center;
        justify-content:center;
        width:100%;
        min-height:58px;
        margin-top:2px;
        border:1px solid rgba(251,210,126,.72);
        border-radius:18px;
        background:linear-gradient(180deg,#f3c66d 0%,#b06b23 100%);
        color:#211106;
        font:900 16px/1.1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
        letter-spacing:.03em;
        text-transform:uppercase;
        box-shadow:0 18px 34px rgba(110,61,18,.30), inset 0 1px 0 rgba(255,255,255,.42);
        cursor:pointer;
    }

    .dcc-mobile-calc-btn:before{
        content:"🐕";
        margin-right:10px;
        font-size:20px;
        line-height:1;
    }

    .dcc-mobile-modal[hidden]{
        display:none!important;
    }

    .dcc-mobile-modal.is-open{
        position:fixed;
        inset:0;
        z-index:2147483000;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:14px;
    }

    .dcc-mobile-modal__backdrop{
        position:absolute;
        inset:0;
        background:rgba(7,4,2,.72);
        backdrop-filter:blur(8px);
    }

    .dcc-mobile-modal__dialog{
        position:relative;
        z-index:1;
        width:min(100%,520px);
        max-height:calc(100vh - 28px);
        overflow:auto;
        border-radius:26px;
        background:#130905;
        border:1px solid rgba(246,205,121,.44);
        box-shadow:0 28px 80px rgba(0,0,0,.46);
        -webkit-overflow-scrolling:touch;
    }

    .dcc-mobile-modal__close{
        position:sticky;
        top:10px;
        left:calc(100% - 54px);
        z-index:3;
        width:42px;
        height:42px;
        margin:10px 10px 0 auto;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,224,166,.32);
        border-radius:999px;
        background:rgba(24,12,5,.84);
        color:#ffe5b6;
        font-size:30px;
        line-height:1;
        cursor:pointer;
        box-shadow:0 10px 22px rgba(0,0,0,.26);
    }

    .dcc-mobile-modal__content{
        padding:0 12px 12px;
    }

    .dcc-mobile-modal .dcc-result{
        display:block!important;
        margin:0;
        border-radius:22px;
        box-shadow:none;
    }

    .dcc-mobile-modal .dcc-result__head,
    .dcc-mobile-modal .dcc-result-grid{
        grid-template-columns:1fr;
    }

    .dcc-mobile-modal .dcc-result__score{
        text-align:left;
    }

    .dcc-mobile-modal .dcc-result__score strong{
        font-size:54px;
    }

    .dcc-mobile-modal .dcc-metric{
        min-height:0;
    }

    html.dcc-modal-lock,
    body.dcc-modal-lock{
        overflow:hidden!important;
        touch-action:none;
    }
}


/* Mobile title center patch v1.0.7 */
@media (max-width:640px){
    .dcc-brand-copy h2{
        width:100%;
        text-align:center;
    }
    .dcc-brand-copy p{
        text-align:center;
    }
}
