/* =========================================================
   ALLTOZE — Premium Responsive UI v3
   대상: 현재 index.php의 <style> ... </style> 내용 전체 교체
   전제: main.css + index-v2.css는 기존대로 먼저 로드됨
   목표:
   - PC / Tablet / Mobile 전 구간 안정적인 레이아웃
   - 카드/박스 눌림, 가로 넘침, 절대배치 충돌 최소화
   - 뉴트럴 웜화이트 + 차콜 + 뮤트 틸 1포인트 컬러
   - font-weight 최대 700
   - 모바일 좌측 오프캔버스 드로어 메뉴
========================================================= */

:root{
    --at-max:1240px;

    /* Premium warm-neutral base */
    --at-bg:#f4f2ec;
    --at-bg-soft:#efeee8;
    --at-bg-tint:#e7ebe6;
    --at-surface:#fffefa;
    --at-surface-soft:#faf9f5;

    /* Typography */
    --at-text:#182824;
    --at-text-2:#394944;
    --at-muted:#6d7975;
    --at-muted-2:#909a96;

    /* ALLTOZE brand */
    --at-accent:#2f665c;
    --at-accent-hover:#254f48;
    --at-accent-soft:#e4ece8;
    --at-accent-soft-2:#f0f4f1;

    /* Premium dark / restrained warm accent */
    --at-deep:#213934;
    --at-deep-2:#294943;
    --at-deep-3:#35574f;
    --at-warm:#a88752;
    --at-warm-soft:#f0e8db;

    /* Borders & shadows */
    --at-line:rgba(27,49,43,.11);
    --at-line-strong:rgba(27,49,43,.18);

    --at-shadow-xs:0 5px 16px rgba(24,43,38,.045);
    --at-shadow-sm:0 14px 36px rgba(24,43,38,.075);
    --at-shadow-md:0 24px 56px rgba(24,43,38,.10);
    --at-shadow-lg:0 36px 86px rgba(24,43,38,.14);

    --at-radius-sm:12px;
    --at-radius-md:18px;
    --at-radius-lg:24px;
    --at-radius-xl:30px;

    --at-gutter:clamp(18px,3.6vw,32px);
    --at-section-y:clamp(76px,8vw,112px);
}

/* ---------------------------------------------------------
   Base / overflow safety
--------------------------------------------------------- */
html{
    scroll-behavior:smooth;
    background:var(--at-bg);
}

body{
    overflow-x:hidden;
    background:var(--at-bg);
    color:var(--at-text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

body.menu-lock,
body.mobile-menu-open{
    overflow:hidden;
}

.at-home,
.at-home *,
.topbar *,
.footer *{
    box-sizing:border-box;
}

.at-home img,
.topbar img,
.footer img{
    max-width:100%;
}

/* grid/flex의 콘텐츠 때문에 열이 밀리는 문제 방지 */
.at-home :is(
    .at-shell,.at-hero-grid,.at-hero-copy,.at-product-stage,
    .at-feature-rail-inner,.at-rail-item,.at-rail-text,
    .at-solution-grid,.at-solution-card,.at-solution-copy,.at-solution-media,
    .at-dashboard-frame,.at-dashboard-browser,.at-dashboard-benefits,.at-dashboard-benefit,
    .at-flow-grid,.at-steps,.at-step,.at-step-copy,
    .at-app-grid,.at-app-copy,.at-app-visual,
    .at-result-box,.at-result-intro,.at-result-item,
    .at-final-card,.at-final-copy,.at-final-actions
){
    min-width:0;
}

.at-home :is(h1,h2,h3,p,span,strong,a){
    overflow-wrap:break-word;
    word-break:keep-all;
}

/* ---------------------------------------------------------
   Font weight cap — 화면에서 700 초과 방지
--------------------------------------------------------- */
body :is(
    h1,h2,h3,h4,h5,h6,strong,b,
    .brandTitle,.header-login,.header-cta,
    .at-eyebrow,.at-section-title,.at-btn,.at-hero-title,
    .at-rail-num,.at-solution-no,.at-text-link,.at-step-dot,
    .at-check i,.at-result-intro small,.at-final-copy small,
    .mobile-drawer-brand strong,.mobile-drawer-actions a
){
    font-weight:500 !important;
}

/* ---------------------------------------------------------
   Header / Desktop navigation
--------------------------------------------------------- */
.topbar{
    height:80px;
    position:sticky;
    top:0;
    z-index:9000;
    border-bottom:1px solid var(--at-line);
    background:rgba(250,251,249,.94);
    box-shadow:none;
    backdrop-filter:blur(16px) saturate(112%);
    -webkit-backdrop-filter:blur(16px) saturate(112%);
    transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.is-home .topbar{
    position:absolute;
    width:100%;
    background:rgba(249,250,248,.90);
    border-bottom-color:rgba(28,53,48,.075);
}

.topbar.is-scrolled{
    position:fixed;
    width:100%;
    background:rgba(251,252,250,.96);
    border-bottom-color:var(--at-line);
    box-shadow:0 8px 24px rgba(31,49,45,.05);
}

.topbar-inner{
    height:100%;
    width:min(calc(100% - 40px),var(--at-max));
    margin:0 auto;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:clamp(18px,2.5vw,36px);
}

.brand{
    min-width:max-content;
    display:flex;
    align-items:center;
    gap:11px;
}

.logo1{
    width:39px;
    height:39px;
    flex:0 0 39px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(45,116,103,.13);
    border-radius:12px;
    background:#f4f7f4;
    box-shadow:none;
}

.logo1 img{
    width:31px !important;
    height:31px;
    object-fit:contain;
}

.brandText{min-width:0;}

.brandTitle,
.is-home .brandTitle,
.topbar.is-scrolled .brandTitle,
body:not(.is-home) .brandTitle{
    color:#1c302c;
    font-size:16.5px;
    line-height:1.08;
    letter-spacing:-.035em;
}

.brandSub,
.is-home .brandSub,
.topbar.is-scrolled .brandSub,
body:not(.is-home) .brandSub{
    margin-top:3px;
    color:#8a9692;
    font-size:9.5px;
    line-height:1.1;
    letter-spacing:.11em;
}

.navArea{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.nav{
    position:relative;
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0;
}

.navItem{
    position:relative;
    padding:8px 0;
}

.navItem::after{height:10px;}

.navLink,
.is-home .navLink,
.topbar.is-scrolled .navLink,
body:not(.is-home) .navLink{
    min-height:44px;
    padding:10px 13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#344743;
    font-size:15.5px;
    font-weight:600;
    line-height:1.1;
    letter-spacing:-.028em;
    white-space:nowrap;
    transition:color .18s ease,background .18s ease;
}

.navItem:hover>.navLink,
.navLink.active,
.is-home .navItem:hover>.navLink,
.is-home .navLink.active,
.topbar.is-scrolled .navItem:hover>.navLink,
.topbar.is-scrolled .navLink.active{
    color:var(--at-accent-hover);
    background:#edf3f0;
}

.caret{
    margin-left:2px;
    font-size:10px;
    opacity:.56;
    transition:transform .18s ease;
}

.navItem:hover>.navLink .caret{transform:translateY(1px);}

.dropdown{
    top:calc(100% + 3px);
    min-width:226px;
    padding:8px;
    overflow:hidden;
    border:1px solid var(--at-line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 44px rgba(31,49,45,.11);
}

.dropdown a{
    padding:11px 12px;
    border-radius:9px;
    color:#50615d;
    font-size:13.5px;
    font-weight:500;
    line-height:1.45;
    letter-spacing:-.02em;
}

.dropdown a:hover{
    color:var(--at-accent-hover);
    background:#f0f5f2;
}

.rightBox{
    min-width:max-content;
    display:flex;
    align-items:center;
    gap:8px;
}

.header-login,
.is-home .header-login,
.topbar.is-scrolled .header-login{
    min-height:42px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--at-line-strong);
    border-radius:11px;
    background:rgba(255,255,255,.78);
    color:#344743;
    font-size:13px;
    font-weight:600 !important;
    transition:background .18s ease,border-color .18s ease,color .18s ease;
}

.header-login:hover{
    background:#fff;
    border-color:rgba(45,116,103,.25);
    color:var(--at-accent-hover);
}

.header-cta,
.is-home .header-cta,
.topbar.is-scrolled .header-cta{
    min-height:42px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(45,116,103,.24);
    border-radius:11px;
    background:var(--at-accent-soft);
    color:var(--at-accent-hover);
    font-size:13px;
    font-weight:700 !important;
    box-shadow:none;
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.header-cta:hover{
    transform:translateY(-1px);
    background:#dceae5;
    border-color:rgba(45,116,103,.32);
}

.header-user,
.is-home .header-user,
.topbar.is-scrolled .header-user{
    color:#344743;
}

.header-user-meta{font-size:11px;line-height:1.4;}
.header-user-meta strong{font-size:12px;}
.header-logout{border-color:var(--at-line-strong);}

.mToggle{
    width:44px;
    height:44px;
    padding:0;
    align-items:center;
    justify-content:center;
    border:1px solid var(--at-line-strong);
    border-radius:12px;
    background:#fff;
    color:#314640;
    box-shadow:none;
}

.is-home .mToggle,
.topbar.is-scrolled .mToggle,
body:not(.is-home) .mToggle{
    color:#314640;
    background:#fff;
    border-color:var(--at-line-strong);
}

.menu-bars,
.menu-bars::before,
.menu-bars::after{
    width:18px;
    height:2px;
    border-radius:2px;
    background:currentColor;
}

/* ---------------------------------------------------------
   Shared home
--------------------------------------------------------- */
.at-home{
    width:100%;
    overflow:hidden;
    background:var(--at-surface);
    color:var(--at-text);
}

.at-shell{
    width:min(calc(100% - (var(--at-gutter) * 2)),var(--at-max));
    margin-inline:auto;
}

.at-section{
    position:relative;
    padding:var(--at-section-y) 0;
}

.at-section-head{
    width:min(100%,740px);
    margin-bottom:clamp(34px,4vw,48px);
}

.at-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    color:var(--at-accent);
    font-size:11.5px;
    line-height:1.2;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.at-eyebrow::before{
    content:"";
    width:22px;
    height:1px;
    border-radius:2px;
    background:currentColor;
}

.at-section-title{
    margin:0;
    color:var(--at-text);
    font-size:clamp(31px,4vw,54px);
    line-height:1.11;
    letter-spacing:-.052em;
}

.at-section-desc{
    max-width:680px;
    margin:18px 0 0;
    color:var(--at-muted);
    font-size:clamp(15px,1.25vw,17px);
    line-height:1.78;
    letter-spacing:-.018em;
}

.at-btn{
    min-height:52px;
    padding:0 21px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:13px;
    font-size:14.5px;
    line-height:1;
    letter-spacing:-.025em;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.at-btn:hover{transform:translateY(-2px);}

.at-btn-primary{
    border:1px solid var(--at-accent);
    background:var(--at-accent);
    color:#fff;
    box-shadow:0 12px 26px rgba(45,116,103,.15);
}

.at-btn-primary:hover{
    border-color:var(--at-accent-hover);
    background:var(--at-accent-hover);
    box-shadow:0 14px 30px rgba(36,95,85,.19);
}

.at-btn-ghost{
    border:1px solid rgba(28,53,48,.14);
    background:rgba(255,255,255,.75);
    color:#344743;
}

.at-btn-ghost:hover{
    border-color:rgba(45,116,103,.24);
    background:#fff;
    color:var(--at-accent-hover);
}

.at-btn-light{
    border:1px solid var(--at-line-strong);
    background:#fff;
    color:var(--at-accent-hover);
    box-shadow:var(--at-shadow-xs);
}

.at-arrow{
    font-size:17px;
    line-height:1;
    transition:transform .18s ease;
}

.at-btn:hover .at-arrow{transform:translateX(3px);}

.at-reveal{
    opacity:0;
    transform:translateY(20px);
    transition:opacity .68s cubic-bezier(.22,.72,.24,1),transform .68s cubic-bezier(.22,.72,.24,1);
}

.at-reveal.is-visible{
    opacity:1;
    transform:none;
}

/* ---------------------------------------------------------
   Hero
--------------------------------------------------------- */
.at-hero{
    min-height:780px;
    padding:154px 0 96px;
    position:relative;
    overflow:hidden;
    color:var(--at-text);
    background:#f5f7f4;
}

.at-hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.7;
    background:
        radial-gradient(circle at 79% 23%,rgba(45,116,103,.085),transparent 31%),
        radial-gradient(circle at 18% 82%,rgba(82,101,95,.045),transparent 27%);
}

.at-hero::after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    right:-180px;
    top:105px;
    border:1px solid rgba(45,116,103,.075);
    border-radius:50%;
    box-shadow:0 0 0 68px rgba(45,116,103,.018),0 0 0 136px rgba(45,116,103,.012);
    pointer-events:none;
}

.at-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:center;
    gap:clamp(44px,5vw,72px);
}

.at-hero-copy{padding-top:4px;}

.at-hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 11px 8px 9px;
    border:1px solid rgba(45,116,103,.17);
    border-radius:999px;
    background:rgba(255,255,255,.70);
    color:var(--at-accent-hover);
    font-size:11.5px;
    line-height:1.2;
    letter-spacing:-.01em;
}

.at-kicker-dot{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--at-accent);
    box-shadow:none;
}

.at-hero-title{
    max-width:680px;
    margin:23px 0 0;
    color:#172723;
    font-size:clamp(28px,5vw,54px);
    line-height:1.075;
    letter-spacing:-.062em;
}

.at-hero-title em{
    color:var(--at-accent);
    font-style:normal;
    text-shadow:none;
}

.at-hero-desc{
    max-width:610px;
    margin:23px 0 0;
    color:#65736f;
    font-size:16.5px;
    line-height:1.8;
    letter-spacing:-.02em;
}

.at-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:31px;
}

.at-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:30px;
    color:#75827e;
    font-size:11.5px;
    font-weight:600;
}

.at-hero-tags span{
    display:flex;
    align-items:center;
    gap:7px;
}

.at-hero-tags i{
    width:4px;
    height:4px;
    flex:0 0 4px;
    display:block;
    border-radius:50%;
    background:var(--at-accent);
}

/* hero product mockup */
.at-product-stage{
    position:relative;
    min-height:520px;
    isolation:isolate;
}

.at-browser{
    width:min(94%,650px);
    position:absolute;
    right:0;
    top:30px;
    padding:9px;
    overflow:hidden;
    border:1px solid rgba(28,53,48,.12);
    border-radius:22px;
    background:#eef2ef;
    box-shadow:0 32px 64px rgba(31,49,45,.13);
    transform:rotateY(-5deg) rotateZ(1deg);
    transform-origin:center;
}

.at-browser-bar{
    height:34px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 8px;
}

.at-browser-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#bac3bf;
}

.at-browser-url{
    height:20px;
    min-width:0;
    flex:1;
    margin-left:5px;
    padding:0 10px;
    display:flex;
    align-items:center;
    overflow:hidden;
    border:1px solid rgba(28,53,48,.08);
    border-radius:7px;
    background:rgba(255,255,255,.68);
    color:#87938f;
    font-size:9px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.at-browser-screen{
    position:relative;
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    aspect-ratio:1.72/1;
}

.at-browser-screen img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:top left;
}

.at-phone{
    position:absolute;
    z-index:3;
    width:clamp(112px,12vw,148px);
    padding:6px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    background:#25322f;
    box-shadow:0 20px 42px rgba(31,49,45,.19);
}

.at-phone::before{
    content:"";
    position:absolute;
    z-index:2;
    top:10px;
    left:50%;
    width:39px;
    height:7px;
    transform:translateX(-50%);
    border-radius:12px;
    background:#121a18;
}

.at-phone img{
    width:100%;
    display:block;
    border-radius:21px;
    aspect-ratio:.5625/1;
    object-fit:cover;
}

.at-phone-a{left:0;bottom:12px;transform:rotate(-5deg);}
.at-phone-b{right:2%;bottom:-4px;transform:rotate(5deg);}

.at-float-card{
    position:absolute;
    z-index:4;
    min-width:142px;
    padding:12px 14px;
    border:1px solid rgba(28,53,48,.10);
    border-radius:13px;
    background:rgba(255,255,255,.92);
    box-shadow:0 14px 34px rgba(31,49,45,.10);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.at-float-card small{
    display:block;
    color:#8a9692;
    font-size:9px;
    line-height:1.2;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.at-float-card strong{
    display:block;
    margin-top:4px;
    color:#263935;
    font-size:13.5px;
}

.at-float-card strong b{color:var(--at-accent);}
.at-float-one{top:2px;right:5%;}
.at-float-two{left:10%;bottom:44px;}

.at-orbit{
    position:absolute;
    z-index:-1;
    inset:10% 3% 5%;
    border:1px solid rgba(45,116,103,.075);
    border-radius:50%;
    transform:rotate(-8deg);
}

/* ---------------------------------------------------------
   Feature rail
--------------------------------------------------------- */
.at-feature-rail{
    position:relative;
    z-index:4;
    margin-top:-40px;
}

.at-feature-rail-inner{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;
    border:1px solid var(--at-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--at-shadow-md);
}

.at-rail-item{
    min-height:148px;
    padding:26px 27px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:15px;
    align-items:start;
}

.at-rail-item+.at-rail-item{border-left:1px solid var(--at-line);}

.at-rail-num{
    grid-column:1/-1;
    color:var(--at-accent);
    font-size:10px;
    line-height:1;
    letter-spacing:.08em;
}

.at-rail-icon{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:var(--at-accent-soft-2);
    color:var(--at-accent);
}

.at-rail-icon svg{width:22px;height:22px;}
.at-rail-text h3{margin:0;color:#21332f;font-size:17px;line-height:1.3;letter-spacing:-.035em;}
.at-rail-text p{margin:7px 0 0;color:var(--at-muted);font-size:13px;line-height:1.65;}

/* ---------------------------------------------------------
   Solutions
--------------------------------------------------------- */
.at-solutions{
    background:linear-gradient(180deg,#fff 0%,#f7f8f6 100%);
}

.at-solution-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.at-solution-card{
    grid-column:auto !important;
    min-height:460px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid var(--at-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(31,49,45,.052);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.at-solution-card:hover{
    transform:translateY(-4px);
    border-color:rgba(45,116,103,.16);
    box-shadow:0 20px 44px rgba(31,49,45,.08);
}

.at-solution-copy{
    padding:28px 28px 22px;
    position:relative;
    z-index:2;
}

.at-solution-no{
    color:var(--at-accent);
    font-size:10px;
    line-height:1;
    letter-spacing:.10em;
}

.at-solution-copy h3{
    margin:12px 0 0;
    color:#21332f;
    font-size:24px;
    line-height:1.25;
    letter-spacing:-.043em;
}

.at-solution-copy p{
    min-height:74px;
    margin:12px 0 0;
    color:var(--at-muted);
    font-size:13.5px;
    line-height:1.7;
}

.at-text-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:17px;
    color:var(--at-accent-hover);
    font-size:13px;
}

.at-solution-media{
    height:226px;
    margin:0 16px 16px;
    margin-top:auto;
    overflow:hidden;
    position:relative;
    border-radius:16px;
    background:#edf1ef;
}

.at-solution-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .4s ease;
}

.at-solution-card:hover .at-solution-media img{transform:scale(1.025);}

.at-solution-card:nth-child(2) .at-solution-media{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding-top:17px;
    background:#eef3f0;
}

.at-solution-card:nth-child(2) .at-solution-media img{
    width:auto;
    max-width:84%;
    height:118%;
    object-fit:contain;
    object-position:top center;
    filter:drop-shadow(0 14px 20px rgba(31,49,45,.13));
}

.at-solution-card:nth-child(3) .at-solution-media img{object-position:top left;}

/* ---------------------------------------------------------
   Dashboard
--------------------------------------------------------- */
.at-dashboard{
    overflow:hidden;
    color:var(--at-text);
    background:#edf1ee;
}

.at-dashboard .at-section-head{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}

.at-dashboard .at-eyebrow{color:var(--at-accent);}
.at-dashboard .at-section-title{color:#1c302c;}
.at-dashboard .at-section-desc{margin-left:auto;margin-right:auto;color:#6b7975;}

.at-dashboard-frame{
    position:relative;
    width:min(100%,1050px);
    margin:52px auto 0;
}

.at-dashboard-glow{
    position:absolute;
    inset:12% 9%;
    border-radius:50%;
    background:rgba(45,116,103,.09);
    filter:blur(70px);
}

.at-dashboard-browser{
    position:relative;
    padding:9px;
    overflow:hidden;
    border:1px solid rgba(28,53,48,.14);
    border-radius:22px;
    background:#2d3f3b;
    box-shadow:0 28px 60px rgba(31,49,45,.16);
}

.at-dashboard-browser .at-browser-screen{
    aspect-ratio:1.94/1;
    border-radius:14px;
}

.at-dashboard-browser .at-browser-screen img{object-position:top left;}

.at-dashboard-chip{
    position:absolute;
    z-index:2;
    max-width:210px;
    padding:14px 16px;
    border:1px solid var(--at-line);
    border-radius:14px;
    background:rgba(255,255,255,.94);
    color:var(--at-text);
    box-shadow:0 14px 34px rgba(31,49,45,.10);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.at-dashboard-chip strong{display:block;color:#233733;font-size:13px;}
.at-dashboard-chip span{display:block;margin-top:4px;color:#7a8783;font-size:10.5px;line-height:1.4;}
.at-chip-a{left:-26px;top:18%;}
.at-chip-b{right:-26px;bottom:15%;}

.at-dashboard-benefits{
    width:min(100%,850px);
    margin:50px auto 0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.at-dashboard-benefit{
    padding:18px 14px;
    text-align:center;
    border-top:1px solid rgba(28,53,48,.13);
}

.at-dashboard-benefit strong{display:block;color:var(--at-accent-hover);font-size:16px;}
.at-dashboard-benefit span{display:block;margin-top:5px;color:#7a8783;font-size:11.5px;}

/* ---------------------------------------------------------
   Flow
--------------------------------------------------------- */
.at-flow{background:#fff;}

.at-flow-grid{
    display:grid;
    grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
    gap:clamp(48px,6vw,78px);
    align-items:start;
}

.at-flow .at-section-head{
    position:sticky;
    top:112px;
    margin:0;
}

.at-steps{position:relative;}

.at-steps::before{
    content:"";
    position:absolute;
    left:25px;
    top:28px;
    bottom:28px;
    width:1px;
    background:linear-gradient(to bottom,rgba(45,116,103,.65),rgba(45,116,103,.08));
}

.at-step{
    position:relative;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:19px;
    padding:0 0 38px;
}

.at-step:last-child{padding-bottom:0;}

.at-step-dot{
    z-index:1;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid rgba(45,116,103,.20);
    border-radius:14px;
    background:#f4f7f5;
    color:var(--at-accent-hover);
    box-shadow:0 8px 20px rgba(31,49,45,.065);
    font-size:12px;
}

.at-step-copy{padding-top:3px;}
.at-step-copy h3{margin:0;color:#20332f;font-size:21px;line-height:1.35;letter-spacing:-.038em;}
.at-step-copy p{margin:8px 0 0;color:var(--at-muted);font-size:13.5px;line-height:1.74;}

.at-step-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.at-step-tags span{
    padding:6px 9px;
    border:1px solid rgba(45,116,103,.09);
    border-radius:8px;
    background:var(--at-accent-soft-2);
    color:var(--at-accent-hover);
    font-size:10.5px;
    font-weight:600;
}

/* ---------------------------------------------------------
   Mobile app showcase
--------------------------------------------------------- */
.at-app{
    overflow:hidden;
    background:#f0f3ef;
}

.at-app-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(48px,6vw,82px);
}

.at-app-visual{
    min-height:560px;
    position:relative;
    display:grid;
    place-items:center;
}

.at-app-ring{
    position:absolute;
    width:min(78%,430px);
    aspect-ratio:1;
    border:1px solid rgba(45,116,103,.11);
    border-radius:50%;
    box-shadow:0 0 0 48px rgba(45,116,103,.018),0 0 0 96px rgba(45,116,103,.012);
}

.at-app-phone{
    position:relative;
    z-index:2;
    width:235px;
    max-width:48vw;
    padding:9px;
    border-radius:37px;
    background:#273632;
    box-shadow:0 28px 58px rgba(31,49,45,.20);
    transform:rotate(-4deg);
}

.at-app-phone::before{
    content:"";
    position:absolute;
    z-index:2;
    top:14px;
    left:50%;
    width:66px;
    height:11px;
    transform:translateX(-50%);
    border-radius:20px;
    background:#111916;
}

.at-app-phone img{
    width:100%;
    display:block;
    border-radius:29px;
    aspect-ratio:.5625/1;
    object-fit:cover;
}

.at-app-card{
    position:absolute;
    z-index:3;
    max-width:190px;
    padding:13px 15px;
    border:1px solid rgba(28,53,48,.09);
    border-radius:14px;
    background:rgba(255,255,255,.92);
    box-shadow:0 14px 32px rgba(31,49,45,.09);
    color:var(--at-muted);
    font-size:11.5px;
    line-height:1.45;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.at-app-card strong{
    display:block;
    margin-bottom:3px;
    color:#233733;
    font-size:13.5px;
}

.at-app-card-a{left:0;top:24%;}
.at-app-card-b{right:0;bottom:21%;}

.at-check-list{
    display:grid;
    gap:14px;
    margin-top:27px;
}

.at-check{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:11px;
    align-items:start;
}

.at-check i{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(45,116,103,.12);
    border-radius:9px;
    background:var(--at-accent-soft);
    color:var(--at-accent-hover);
    font-style:normal;
    font-size:12px;
}

.at-check strong{display:block;color:#253733;font-size:14.5px;line-height:1.45;}
.at-check span{display:block;margin-top:3px;color:var(--at-muted);font-size:12.5px;line-height:1.6;}

/* ---------------------------------------------------------
   Result strip
--------------------------------------------------------- */
.at-results{
    padding:82px 0;
    background:#fff;
}

.at-result-box{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,.65fr));
    align-items:stretch;
    overflow:hidden;
    border:1px solid var(--at-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 38px rgba(31,49,45,.06);
}

.at-result-intro{
    padding:31px 34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.at-result-intro small{
    color:var(--at-accent);
    font-size:10px;
    line-height:1.2;
    letter-spacing:.095em;
}

.at-result-intro h2{
    margin:9px 0 0;
    color:#20332f;
    font-size:24px;
    line-height:1.3;
    letter-spacing:-.042em;
}

.at-result-item{
    min-height:132px;
    padding:26px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-left:1px solid var(--at-line);
}

.at-result-item strong{display:block;color:#253733;font-size:18px;line-height:1.35;letter-spacing:-.03em;}
.at-result-item span{display:block;margin-top:6px;color:var(--at-muted);font-size:11.5px;line-height:1.5;}

/* ---------------------------------------------------------
   Final CTA
--------------------------------------------------------- */
.at-final{
    padding:0 0 84px;
    background:#fff;
}

.at-final-card{
    position:relative;
    overflow:hidden;
    padding:62px 64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:#304a45;
    color:#fff;
    box-shadow:0 18px 44px rgba(31,49,45,.11);
}

.at-final-card::before{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    right:-90px;
    top:-155px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    background:transparent;
    filter:none;
}

.at-final-copy{position:relative;z-index:1;}
.at-final-copy small{color:#cfe1dc;font-size:10px;line-height:1.2;letter-spacing:.105em;}
.at-final-copy h2{margin:11px 0 0;color:#fff;font-size:clamp(29px,3.7vw,44px);line-height:1.16;letter-spacing:-.052em;}
.at-final-copy p{margin:13px 0 0;color:rgba(255,255,255,.68);font-size:13.5px;line-height:1.6;}

.at-final-actions{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:9px;
}

.at-final .at-btn-primary{
    border-color:#f2f6f4;
    background:#f2f6f4;
    color:#29433d;
    box-shadow:none;
}

.at-final .at-btn-primary:hover{
    border-color:#fff;
    background:#fff;
    color:#203731;
}

.at-final .at-btn-ghost{
    border-color:rgba(255,255,255,.20);
    background:rgba(255,255,255,.06);
    color:#fff;
}

.at-final .at-btn-ghost:hover{background:rgba(255,255,255,.11);}

/* ---------------------------------------------------------
   Footer
--------------------------------------------------------- */
.footer{
    margin:0;
    padding:46px 0 40px;
    border:0;
    background:#263a36;
    color:rgba(255,255,255,.58);
}

.revealfoot{
    width:min(calc(100% - (var(--at-gutter) * 2)),var(--at-max));
    max-width:none;
    margin:0 auto;
    padding:0;
    align-items:flex-end;
    gap:28px;
}

.left-box{gap:6px;}
.left-box img{filter:brightness(0) invert(1);opacity:.76;}
.right-box{text-align:right;line-height:1.75;}
.right-box a{color:rgba(255,255,255,.70);}

/* sub pages: 기존 main.css 구조를 건드리지 않고 상단 여유만 유지 */
body:not(.is-home) .container{padding-top:40px;}
body:not(.is-home) .footer{margin-top:50px;}

/* ---------------------------------------------------------
   Mobile drawer base
--------------------------------------------------------- */
.mobileMenuDim{
    position:fixed;
    inset:0;
    z-index:10990;
    background:rgba(22,34,31,.32);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease,visibility .24s ease;
}

.mobileMenuDim.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.mobile-drawer-head,
.mobile-drawer-actions{
    display:none;
}

/* =========================================================
   Large tablet / compact desktop 981–1180
========================================================= */
@media (max-width:1180px) and (min-width:981px){
    .topbar-inner{
        width:min(calc(100% - 32px),var(--at-max));
        gap:12px;
    }

    .brand{gap:8px;}
    .logo1{width:36px;height:36px;flex-basis:36px;}
    .logo1 img{width:29px !important;height:29px;}
    .brandTitle{font-size:15.5px;}
    .brandSub{font-size:8.5px;letter-spacing:.08em;}

    .nav{gap:1px;}
    .navLink,
    .is-home .navLink,
    .topbar.is-scrolled .navLink,
    body:not(.is-home) .navLink{
        padding:10px 8px;
        font-size:14px;
    }

    .header-cta{display:none;}
    .header-login{padding:0 12px;}

    .at-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;}
    .at-product-stage{min-height:485px;transform:scale(.94);transform-origin:center right;}

    .at-rail-item{padding:23px 21px;gap:12px;}
    .at-rail-text h3{font-size:16px;}

    .at-solution-grid{gap:14px;}
    .at-solution-copy{padding:25px 23px 20px;}
    .at-solution-copy h3{font-size:21px;}
    .at-solution-media{height:205px;margin:0 13px 13px;}

    .at-flow-grid{gap:44px;}
    .at-app-grid{gap:44px;}
    .at-app-card-a{left:-1%;}
    .at-app-card-b{right:-1%;}

    .at-result-intro{padding:28px 26px;}
    .at-result-item{padding:24px 14px;}
}

/* =========================================================
   Tablet + mobile navigation <=980
========================================================= */
@media (max-width:980px){
    :root{
        --at-section-y:clamp(70px,9vw,88px);
        --at-gutter:clamp(18px,3.2vw,28px);
    }

    body.mobile-menu-open{
        overflow:hidden;
        touch-action:none;
    }

    /* 부모 stacking context를 dim 위로 올려 drawer가 뒤로 숨지 않게 */
    body.mobile-menu-open .topbar{
        z-index:11000 !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
        transform:none !important;
        filter:none !important;
    }

    .topbar,
    .is-home .topbar,
    body:not(.is-home) .topbar,
    .topbar.is-scrolled{
        height:68px;
        background:rgba(250,251,249,.97) !important;
        border-bottom-color:var(--at-line) !important;
        box-shadow:0 6px 20px rgba(31,49,45,.045);
    }

    .topbar-inner{
        width:calc(100% - 28px);
        gap:10px;
    }

    .brand{gap:8px;}
    .logo1{width:35px;height:35px;flex-basis:35px;border-radius:11px;}
    .logo1 img{width:28px !important;height:28px;}
    .brandTitle{font-size:14px;}
    .brandSub{display:none;}

    .navArea{
        order:3;
        flex:0 0 auto;
        min-width:auto;
    }

    .mToggle{display:inline-flex;}

    .rightBox{
        margin-left:auto;
        gap:5px;
    }

    .header-login,
    .header-cta{
        display:none;
    }

    .header-user-meta{display:none;}
    .header-logout{width:38px;height:38px;border-radius:11px;}

    /* overlay */
    .mobileMenuDim{
        z-index:10990 !important;
        background:rgba(22,34,31,.34);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
    }

    /* left drawer */
    .nav{
        display:flex !important;
        position:fixed !important;
        z-index:11020 !important;
        left:0 !important;
        right:auto !important;
        top:0 !important;
        bottom:0 !important;

        width:min(88vw,378px) !important;
        height:100vh !important;
        height:100dvh !important;
        max-height:none !important;

        margin:0 !important;
        padding:0 16px max(22px,env(safe-area-inset-bottom)) !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:2px !important;

        overflow-x:hidden !important;
        overflow-y:auto !important;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;

        border:0 !important;
        border-right:1px solid var(--at-line) !important;
        border-radius:0 20px 20px 0 !important;
        background:#fbfcfa !important;
        box-shadow:24px 0 56px rgba(31,49,45,.17) !important;

        transform:translate3d(-103%,0,0);
        opacity:1 !important;
        visibility:hidden;
        pointer-events:none;
        isolation:isolate;

        transition:transform .28s cubic-bezier(.22,.78,.24,1),visibility .28s ease !important;
    }

    .nav.open{
        transform:translate3d(0,0,0);
        visibility:visible;
        pointer-events:auto;
    }

    .mobile-drawer-head{
        position:sticky;
        top:0;
        z-index:4;
        min-height:72px;
        margin:0 -16px 10px;
        padding:0 15px;
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        border-bottom:1px solid var(--at-line);
        background:rgba(251,252,250,.97);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    .mobile-drawer-brand{
        min-width:0;
        display:flex;
        align-items:center;
        gap:9px;
        color:#20342f;
    }

    .mobile-drawer-brand img{
        width:32px;
        height:32px;
        flex:0 0 32px;
        object-fit:contain;
    }

    .mobile-drawer-brand span{
        min-width:0;
        display:flex;
        flex-direction:column;
        line-height:1.15;
    }

    .mobile-drawer-brand strong{
        font-size:14.5px;
        letter-spacing:-.03em;
    }

    .mobile-drawer-brand small{
        margin-top:3px;
        overflow:hidden;
        color:#8a9692;
        font-size:8.5px;
        letter-spacing:.07em;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .mobile-drawer-close{
        width:39px;
        height:39px;
        flex:0 0 39px;
        display:grid;
        place-items:center;
        border:1px solid var(--at-line-strong);
        border-radius:11px;
        background:#fff;
        color:#334843;
        font-size:22px;
        line-height:1;
    }

    .navItem{
        width:100%;
        padding:0 !important;
    }

    .navLink,
    .is-home .navLink,
    body:not(.is-home) .navLink,
    .topbar.is-scrolled .navLink{
        width:100%;
        min-height:50px;
        padding:12px 13px !important;
        justify-content:space-between;
        border:0 !important;
        border-radius:11px;
        background:transparent !important;
        color:#304641 !important;
        font-size:14.5px !important;
        font-weight:600 !important;
        line-height:1.35;
        text-align:left;
        white-space:normal;
    }

    .navLink.active,
    .navItem:hover>.navLink,
    .is-home .navLink.active,
    .is-home .navItem:hover>.navLink,
    body:not(.is-home) .navLink.active,
    body:not(.is-home) .navItem:hover>.navLink{
        background:#edf3f0 !important;
        color:var(--at-accent-hover) !important;
    }

    .navLink[aria-expanded="true"] .caret{transform:rotate(180deg);}

    .dropdown{
        position:static !important;
        min-width:0 !important;
        width:100% !important;
        margin:2px 0 7px !important;
        padding:5px !important;
        border:0 !important;
        border-radius:11px !important;
        background:#f1f4f2 !important;
        box-shadow:none !important;
    }

    .dropdown a{
        width:100%;
        padding:10px 11px !important;
        display:block;
        border-radius:8px;
        color:#596b66 !important;
        font-size:13px;
        line-height:1.45;
    }

    .dropdown a:hover{
        background:#e7efeb !important;
        color:var(--at-accent-hover) !important;
    }

    .mobile-drawer-actions{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
        margin-top:auto;
        padding-top:18px;
    }

    .mobile-drawer-actions a{
        min-width:0;
        min-height:45px;
        padding:9px 8px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid var(--at-line-strong);
        border-radius:11px;
        background:#fff;
        color:#394d48;
        font-size:12.5px;
        line-height:1.25;
        text-align:center;
    }

    .mobile-drawer-actions a:last-child{
        border-color:rgba(45,116,103,.18);
        background:var(--at-accent-soft);
        color:var(--at-accent-hover);
    }

    /* general tablet layout */
    .at-hero{
        min-height:auto;
        padding:118px 0 78px;
    }

    .at-hero::after{display:none;}

    .at-hero-grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .at-hero-copy{
        width:min(100%,720px);
        margin:0 auto;
        text-align:center;
    }

    .at-hero-title,
    .at-hero-desc{margin-left:auto;margin-right:auto;}
    .at-hero-actions,.at-hero-tags{justify-content:center;}

    .at-product-stage{
        width:min(100%,700px);
        min-height:455px;
        margin:0 auto;
        transform:none;
    }

    .at-browser{width:88%;right:5%;}
    .at-phone-a{left:2%;}
    .at-phone-b{right:1%;}

    .at-feature-rail{margin-top:-30px;}
    .at-feature-rail-inner{grid-template-columns:1fr;}
    .at-rail-item{min-height:auto;padding:22px 24px;grid-template-columns:42px minmax(0,1fr);}
    .at-rail-item+.at-rail-item{border-left:0;border-top:1px solid var(--at-line);}
    .at-rail-num{grid-column:auto;grid-row:1;align-self:center;font-size:9.5px;}
    .at-rail-icon{grid-column:1;grid-row:2;width:42px;height:42px;}
    .at-rail-text{grid-column:2;grid-row:2;}

    /* tablet cards: 확실한 2열, 마지막도 억지 중앙 span 없음 */
    .at-solution-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }

    .at-solution-card{
        min-height:440px;
        grid-column:auto !important;
    }

    .at-solution-card:last-child{
        grid-column:1/-1 !important;
        width:100%;
    }

    .at-solution-card:last-child .at-solution-media{
        height:260px;
    }

    .at-dashboard-frame{width:min(94%,850px);margin-top:42px;}
    .at-chip-a{left:-18px;}
    .at-chip-b{right:-18px;}

    .at-flow-grid{grid-template-columns:1fr;gap:36px;}
    .at-flow .at-section-head{position:static;width:min(100%,720px);}

    .at-app-grid{grid-template-columns:1fr;gap:36px;}
    .at-app-copy{order:-1;width:min(100%,720px);}
    .at-app-visual{width:min(100%,650px);min-height:500px;margin:0 auto;}
    .at-app-card-a{left:4%;}
    .at-app-card-b{right:4%;}

    .at-result-box{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .at-result-intro{
        grid-column:1/-1;
        padding:28px 30px;
        text-align:center;
        border-bottom:1px solid var(--at-line);
    }

    .at-result-item{
        min-height:108px;
        border-left:0;
        border-top:1px solid var(--at-line);
    }

    .at-result-item:nth-child(2),
    .at-result-item:nth-child(3){border-top:0;}

    .at-result-item:nth-child(3){border-left:1px solid var(--at-line);}

    .at-result-item:nth-child(4){
        grid-column:1/-1;
        border-left:0;
        border-top:1px solid var(--at-line);
    }

    .at-final-card{
        padding:50px 42px;
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .at-final-actions{justify-content:center;}
}

/* =========================================================
   Mobile <=680
========================================================= */
@media (max-width:680px){
    :root{
        --at-gutter:14px;
        --at-section-y:68px;
    }

    .topbar-inner{width:calc(100% - 24px);}
    .logo1{width:34px;height:34px;flex-basis:34px;}
    .logo1 img{width:27px !important;height:27px;}
    .brandTitle{font-size:13.5px;}
    .mToggle{width:42px;height:42px;border-radius:11px;}

    .nav{width:min(90vw,360px) !important;border-radius:0 18px 18px 0 !important;}

    .at-section-head{margin-bottom:30px;}
    .at-eyebrow{margin-bottom:12px;font-size:10.5px;}
    .at-section-title{font-size:clamp(30px,9vw,36px);line-height:1.14;letter-spacing:-.047em;}
    .at-section-desc{margin-top:14px;font-size:14px;line-height:1.7;}

    .at-hero{
        padding:104px 0 64px;
        background:#f5f7f4;
    }

    .at-hero::before{
        background:radial-gradient(circle at 75% 20%,rgba(45,116,103,.07),transparent 35%);
    }

    .at-hero-grid{gap:28px;}
    .at-hero-kicker{padding:7px 10px 7px 8px;font-size:10px;}
    .at-hero-title{margin-top:18px;font-size:clamp(36px,11vw,44px);line-height:1.08;letter-spacing:-.058em;}
    .at-hero-desc{margin-top:18px;font-size:14px;line-height:1.72;}

    .at-hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        margin-top:25px;
    }

    .at-btn{
        width:100%;
        min-height:50px;
        padding:0 16px;
        border-radius:12px;
        font-size:14px;
    }

    .at-hero-tags{
        justify-content:center;
        gap:8px 12px;
        margin-top:24px;
        font-size:9.8px;
    }

    /* 모바일 hero mockup: 콘텐츠를 화면 폭 안에 고정 */
    .at-product-stage{
        width:100%;
        min-height:322px;
        margin-top:2px;
    }

    .at-browser{
        width:96%;
        max-width:none;
        right:0;
        top:20px;
        padding:6px;
        border-radius:15px;
        transform:none;
        box-shadow:0 20px 40px rgba(31,49,45,.12);
    }

    .at-browser-bar{height:22px;padding:0 5px;gap:4px;}
    .at-browser-dot{width:5px;height:5px;}
    .at-browser-url{height:15px;font-size:7px;padding:0 7px;}
    .at-browser-screen{border-radius:9px;}

    .at-phone{
        width:88px;
        padding:4px;
        border-radius:18px;
        box-shadow:0 12px 28px rgba(31,49,45,.16);
    }

    .at-phone img{border-radius:13px;}
    .at-phone::before{width:27px;height:4px;top:7px;}
    .at-phone-a{left:0;bottom:0;transform:rotate(-4deg);}
    .at-phone-b{display:none;}

    .at-float-card{
        min-width:0;
        max-width:145px;
        padding:9px 10px;
        border-radius:10px;
    }

    .at-float-card small{font-size:7.5px;}
    .at-float-card strong{font-size:10.5px;line-height:1.35;}
    .at-float-one{top:0;right:0;}
    .at-float-two{left:24%;bottom:5px;}
    .at-orbit{display:none;}

    .at-feature-rail{margin-top:-24px;}
    .at-feature-rail-inner{border-radius:17px;}
    .at-rail-item{padding:19px 18px;grid-template-columns:38px minmax(0,1fr);gap:12px;}
    .at-rail-num{grid-column:1;grid-row:1;font-size:9px;align-self:center;}
    .at-rail-icon{grid-column:1;grid-row:2;width:38px;height:38px;border-radius:11px;}
    .at-rail-icon svg{width:20px;height:20px;}
    .at-rail-text h3{font-size:15.5px;}
    .at-rail-text p{font-size:12.5px;line-height:1.62;}

    /* 모바일에서는 무조건 단일 열 — 카드 눌림 제거 */
    .at-solution-grid{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:14px;
    }

    .at-solution-card,
    .at-solution-card:last-child{
        width:100%;
        min-height:0;
        grid-column:auto !important;
        border-radius:18px;
    }

    .at-solution-copy{padding:22px 20px 17px;}
    .at-solution-copy h3{font-size:20px;}
    .at-solution-copy p{min-height:0;margin-top:10px;font-size:13px;}
    .at-text-link{margin-top:14px;}

    .at-solution-media,
    .at-solution-card:last-child .at-solution-media{
        width:auto;
        height:auto;
        min-height:185px;
        aspect-ratio:1.55/1;
        margin:0 11px 11px;
        border-radius:13px;
    }

    .at-solution-card:nth-child(2) .at-solution-media{padding-top:14px;}
    .at-solution-card:nth-child(2) .at-solution-media img{height:112%;max-width:88%;}

    .at-dashboard-frame{
        width:100%;
        margin-top:30px;
    }

    .at-dashboard-browser{
        padding:5px;
        border-radius:14px;
        box-shadow:0 18px 38px rgba(31,49,45,.13);
    }

    .at-dashboard-browser .at-browser-screen{border-radius:9px;}

    /* absolute chip을 모바일에서는 일반 흐름으로 전환 */
    .at-dashboard-chip{
        position:static;
        width:calc(50% - 4px);
        max-width:none;
        margin:8px 2px 0;
        display:inline-block;
        vertical-align:top;
        padding:10px 11px;
        border-radius:10px;
        box-shadow:none;
    }

    .at-dashboard-chip strong{font-size:10.5px;line-height:1.35;}
    .at-dashboard-chip span{font-size:8.8px;}

    .at-dashboard-benefits{
        grid-template-columns:1fr;
        gap:0;
        margin-top:28px;
    }

    .at-dashboard-benefit{
        padding:14px 8px;
        border-top:1px solid rgba(28,53,48,.12);
    }

    .at-dashboard-benefit strong{font-size:15px;}
    .at-dashboard-benefit span{font-size:11px;}

    .at-flow-grid{gap:28px;}

    .at-step{
        grid-template-columns:42px minmax(0,1fr);
        gap:13px;
        padding-bottom:28px;
    }

    .at-steps::before{left:20px;top:24px;bottom:24px;}
    .at-step-dot{width:42px;height:42px;border-radius:11px;font-size:10.5px;}
    .at-step-copy{padding-top:1px;}
    .at-step-copy h3{font-size:17.5px;line-height:1.4;}
    .at-step-copy p{margin-top:6px;font-size:12.8px;line-height:1.68;}
    .at-step-tags{gap:5px;margin-top:10px;}
    .at-step-tags span{padding:5px 7px;font-size:9.5px;}

    .at-app-grid{gap:24px;}
    .at-app-visual{width:100%;min-height:400px;}
    .at-app-ring{width:280px;max-width:76vw;box-shadow:0 0 0 34px rgba(45,116,103,.015);}
    .at-app-phone{width:176px;max-width:52vw;padding:7px;border-radius:29px;}
    .at-app-phone::before{top:11px;width:52px;height:9px;}
    .at-app-phone img{border-radius:22px;}

    .at-app-card{
        max-width:142px;
        padding:9px 10px;
        border-radius:10px;
        font-size:9.5px;
    }

    .at-app-card strong{font-size:11px;}
    .at-app-card-a{left:0;top:18%;}
    .at-app-card-b{right:0;bottom:15%;}

    .at-check-list{gap:12px;margin-top:22px;}
    .at-check{grid-template-columns:26px minmax(0,1fr);gap:10px;}
    .at-check i{width:26px;height:26px;border-radius:8px;}
    .at-check strong{font-size:13.5px;}
    .at-check span{font-size:12px;line-height:1.58;}

    .at-results{padding:58px 0;}

    .at-result-box{
        display:grid;
        grid-template-columns:1fr;
        border-radius:17px;
    }

    .at-result-intro{
        grid-column:auto;
        padding:24px 20px;
        text-align:left;
        border-bottom:0;
    }

    .at-result-intro h2{font-size:20px;}

    .at-result-item,
    .at-result-item:nth-child(2),
    .at-result-item:nth-child(3),
    .at-result-item:nth-child(4){
        grid-column:auto;
        min-height:0;
        padding:18px 20px;
        align-items:flex-start;
        text-align:left;
        border-left:0;
        border-top:1px solid var(--at-line);
    }

    .at-result-item strong{font-size:16px;}
    .at-result-item span{font-size:11px;}

    .at-final{padding-bottom:58px;}

    .at-final-card{
        padding:40px 20px;
        gap:25px;
        border-radius:18px;
    }

    .at-final-card::before{width:220px;height:220px;right:-110px;top:-120px;}
    .at-final-copy h2{font-size:clamp(28px,8.5vw,34px);}
    .at-final-copy p{font-size:12.5px;line-height:1.65;}

    .at-final-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .revealfoot{
        width:calc(100% - 36px);
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }

    .right-box{text-align:left;}
}

/* =========================================================
   Very small mobile <=420
========================================================= */
@media (max-width:420px){
    :root{--at-gutter:12px;}

    .topbar-inner{width:calc(100% - 20px);}
    .brandTitle{font-size:13px;}

    .nav{
        width:min(92vw,350px) !important;
        padding-left:13px !important;
        padding-right:13px !important;
    }

    .mobile-drawer-head{
        margin-left:-13px;
        margin-right:-13px;
        padding-left:13px;
        padding-right:13px;
    }

    .at-hero{padding-top:98px;}
    .at-hero-title{font-size:clamp(34px,10.8vw,40px);}
    .at-hero-tags{font-size:9.2px;}

    .at-product-stage{min-height:294px;}
    .at-phone{width:78px;}
    .at-float-two{left:18%;}

    .at-solution-copy{padding-left:18px;padding-right:18px;}
    .at-dashboard-chip{width:100%;margin:7px 0 0;display:block;}

    .at-app-visual{min-height:370px;}
    .at-app-phone{width:162px;}
    .at-app-card{max-width:128px;padding:8px 9px;}
    .at-app-card-a{top:16%;}
    .at-app-card-b{bottom:12%;}

    .mobile-drawer-actions{grid-template-columns:1fr;}
}

/* =========================================================
   Touch devices: hover lift 제거
========================================================= */
@media (hover:none){
    .at-btn:hover,
    .at-solution-card:hover,
    .header-cta:hover{
        transform:none;
    }

    .at-solution-card:hover .at-solution-media img{transform:none;}
}

/* =========================================================
   Reduced motion
========================================================= */
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}

    .at-reveal{
        opacity:1;
        transform:none;
        transition:none;
    }

    .at-btn,
    .at-solution-card,
    .at-solution-media img,
    .nav,
    .mobileMenuDim,
    .caret{
        transition:none !important;
    }
}

/* =========================================================
   ATL LOGIN — calm premium theme
   login.php 전용 / PC · Tablet · Mobile
========================================================= */

/* login.php는 index.php의 <main class="container"> 안에 include됩니다.
   main.css의 container 여백을 로그인 화면에서만 제거합니다. */
main.container:has(> .atl-login-page){
    max-width:none;
    margin:0 auto;
    padding:0;
    
}

body:has(.atl-login-page) .footer{
    margin-top:0;
}

/* :has() 미지원 브라우저를 위한 안전한 보정 */
@supports not selector(main:has(> .atl-login-page)){
    main.container > .atl-login-page{
        margin-top:-26px;
        margin-bottom:-60px;
    }
}

.atl-login-page,
.atl-login-page *{
    box-sizing:border-box;
}

.atl-login-page{
    --atl-bg:var(--at-bg,#f7f8f5);
    --atl-surface:var(--at-surface,#fff);
    --atl-surface-soft:var(--at-surface-soft,#fafbf9);
    --atl-text:var(--at-text,#20312e);
    --atl-text-2:var(--at-text-2,#3b4c48);
    --atl-muted:var(--at-muted,#70807b);
    --atl-muted-2:var(--at-muted-2,#919c98);
    --atl-accent:var(--at-accent,#39786c);
    --atl-accent-hover:var(--at-accent-hover,#2e665c);
    --atl-accent-soft:var(--at-accent-soft,#e9f0ed);
    --atl-line:var(--at-line,rgba(28,53,48,.10));
    --atl-line-strong:var(--at-line-strong,rgba(28,53,48,.16));

    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    background:var(--atl-bg);
    color:var(--atl-text);
    font-family:'Paperozi',Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.atl-login-page::before{
    content:"";
    position:absolute;
    left:-180px;
    top:-220px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(57,120,108,.045);
    pointer-events:none;
}

.atl-login-page::after{
    content:"";
    position:absolute;
    right:-150px;
    bottom:-210px;
    width:470px;
    height:470px;
    border:1px solid rgba(57,120,108,.07);
    border-radius:50%;
    pointer-events:none;
}

.atl-login-layout{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(360px,44%) minmax(0,56%);
    min-height:calc(100svh - 80px);
}

.atl-login-brand,
.atl-login-auth{
    min-width:0;
    display:flex;
    align-items:center;
}

.atl-login-brand{
    justify-content:flex-end;
    padding:clamp(48px,6vw,84px) clamp(42px,5vw,72px) clamp(48px,6vw,84px) var(--at-gutter,28px);
    border-right:1px solid rgba(28,53,48,.08);
    background:#e9efeb;
    color:var(--atl-text);
}

.atl-login-brand-inner{
    width:100%;
    max-width:520px;
}

.atl-login-logo{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:0 0 44px;
    color:var(--atl-text);
    text-decoration:none;
}

.atl-login-logo-text{
    display:flex;
    flex-direction:column;
    line-height:1.08;
}

.atl-login-logo-text strong{
    color:#26463f;
    font-size:29px;
    font-weight:700;
    letter-spacing:-.02em;
}

.atl-login-logo-text span{
    margin-top:7px;
    color:#7b8a85;
    font-size:11px;
    font-weight:600;
    letter-spacing:.16em;
}

.atl-login-label{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px;
    color:var(--atl-accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
}

.atl-login-label::before{
    content:"";
    width:24px;
    height:1px;
    background:rgba(57,120,108,.52);
}

.atl-login-brand-title{
    max-width:510px;
    margin:0;
    color:#20332f;
    font-size:clamp(24px,2.15vw,34px);
    font-weight:700;
    line-height:1.42;
    letter-spacing:-.045em;
    word-break:keep-all;
}

.atl-login-brand-title > span:not(.atl-login-free){
    display:block;
    margin-top:8px;
    color:#536760;
    font-size:.55em;
    font-weight:500;
    line-height:1.55;
    letter-spacing:-.025em;
}

.atl-login-free{
    display:inline-flex;
    align-items:center;
    margin:0 .04em;
    padding:.02em .28em .04em;
    border-radius:.34em;
    background:rgba(57,120,108,.10);
    color:var(--atl-accent-hover);
    font-size:inherit;
    font-weight:700;
    line-height:1.15;
}

.atl-login-brand-desc{
    max-width:485px;
    margin:22px 0 0;
    color:#687a74;
    font-size:15px;
    font-weight:400;
    line-height:1.8;
    letter-spacing:-.015em;
    word-break:keep-all;
}

.atl-login-services{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:34px;
}

.atl-login-service{
    min-width:0;
    padding:15px 14px 14px;
    border:1px solid rgba(28,53,48,.09);
    border-radius:14px;
    background:rgba(255,255,255,.48);
}

.atl-login-service-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    margin-bottom:11px;
    border:1px solid rgba(57,120,108,.08);
    border-radius:9px;
    background:#f5f8f5;
    color:var(--atl-accent);
}

.atl-login-service-icon svg{
    width:16px;
    height:16px;
}

.atl-login-service strong{
    display:block;
    overflow:hidden;
    color:#2b403b;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.atl-login-service span{
    display:block;
    overflow:hidden;
    margin-top:4px;
    color:#7b8985;
    font-size:12px;
    font-weight:400;
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.atl-login-auth{
    justify-content:flex-start;
    padding:clamp(48px,6vw,84px) var(--at-gutter,28px) clamp(48px,6vw,84px) clamp(54px,6vw,92px);
    background:rgba(253,254,253,.76);
}

.atl-login-auth-inner{
    width:min(100%,450px);
}

.atl-login-home{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:31px;
    color:#71817c;
    font-size:13px;
    font-weight:500;
    text-decoration:none;
    transition:color .18s ease;
}

.atl-login-home:hover{
    color:var(--atl-accent-hover);
}

.atl-login-home svg{
    width:15px;
    height:15px;
}

.atl-login-kicker{
    margin:0 0 10px;
    color:var(--atl-accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
}

.atl-login-title{
    margin:0;
    color:#20312e;
    font-size:clamp(23px,2vw,29px);
    font-weight:700;
    line-height:1.4;
    letter-spacing:-.04em;
}

.atl-login-subtitle{
    margin:10px 0 24px;
    color:var(--atl-muted);
    font-size:15px;
    font-weight:400;
    line-height:1.7;
    letter-spacing:-.015em;
    word-break:keep-all;
}

.atl-login-recent-info{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:46px;
    margin-bottom:14px;
    padding:12px 14px;
    border:1px solid var(--atl-line);
    border-radius:12px;
    background:#f7f9f7;
    color:#6e7d78;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
}

.atl-login-recent-info svg{
    flex:0 0 auto;
    width:17px;
    height:17px;
    margin-top:1px;
    color:var(--atl-accent);
}

.atl-login-recent-info strong{
    color:var(--atl-accent-hover);
    font-weight:700;
}

.atl-login-buttons{
    display:grid;
    gap:10px;
}

.atl-login-button{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    padding:0 86px 0 56px;
    border:1px solid rgba(28,53,48,.13);
    border-radius:12px;
    background:#fff;
    color:#2b3b37;
    box-shadow:0 2px 7px rgba(31,49,45,.025);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    line-height:1;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}

.atl-login-button:hover{
    transform:translateY(-1px);
    border-color:rgba(57,120,108,.26);
    background:#fdfefd;
    box-shadow:0 8px 22px rgba(31,49,45,.07);
}

.atl-login-button:focus-visible{
    outline:3px solid rgba(57,120,108,.16);
    outline-offset:2px;
}

.atl-login-provider-icon{
    position:absolute;
    left:17px;
    top:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:6px;
    transform:translateY(-50%);
}

.atl-login-provider-icon svg{
    width:21px;
    height:21px;
}

/* 공급자 색은 아이콘에만 남겨 전체 페이지 채도를 낮춤 */
.atl-login-button-google .atl-login-provider-icon{
    background:#fff;
}

.atl-login-button-naver .atl-login-provider-icon{
    overflow:hidden;
}

.atl-login-button-kakao .atl-login-provider-icon{
    background:#fee500;
}

.atl-login-button.atl-login-is-recent{
    border-color:rgba(57,120,108,.34);
    background:#f7faf8;
    box-shadow:0 0 0 3px rgba(57,120,108,.08);
}

.atl-login-badge{
    position:absolute;
    top:50%;
    right:12px;
    display:inline-flex;
    align-items:center;
    height:24px;
    padding:0 8px;
    border-radius:999px;
    background:var(--atl-accent-soft);
    color:var(--atl-accent-hover);
    font-size:11px;
    font-weight:700;
    transform:translateY(-50%);
    white-space:nowrap;
}

.atl-login-button-naver .atl-login-badge,
.atl-login-button-kakao .atl-login-badge{
    background:var(--atl-accent-soft);
    color:var(--atl-accent-hover);
}

.atl-login-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:22px 0 16px;
    color:#8a9692;
    font-size:12px;
    font-weight:400;
    white-space:nowrap;
}

.atl-login-divider::before,
.atl-login-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(28,53,48,.10);
}

.atl-login-note{
    display:flex;
    gap:10px;
    margin:0;
    color:#75837f;
    font-size:13px;
    font-weight:400;
    line-height:1.65;
    word-break:keep-all;
}

.atl-login-note svg{
    flex:0 0 auto;
    width:16px;
    height:16px;
    margin-top:3px;
    color:#768e86;
}

.atl-login-footer-text{
    margin-top:27px;
    color:#9aa5a1;
    font-size:11px;
    font-weight:500;
    letter-spacing:.08em;
}

/* Tablet */
@media (max-width:1080px){
    .atl-login-layout{
        grid-template-columns:minmax(330px,42%) minmax(0,58%);
    }

    .atl-login-brand{
        padding-left:28px;
        padding-right:38px;
    }

    .atl-login-auth{
        padding-left:48px;
        padding-right:32px;
    }

    .atl-login-services{
        grid-template-columns:1fr;
        gap:8px;
    }

    .atl-login-service{
        display:grid;
        grid-template-columns:32px minmax(0,1fr);
        column-gap:11px;
        padding:11px 12px;
    }

    .atl-login-service-icon{
        grid-row:1/3;
        margin-bottom:0;
    }
}

/* Mobile */
@media (max-width:760px){
    .atl-login-page{
        overflow:visible;
    }

    .atl-login-page::before{
        left:auto;
        right:-150px;
        top:-150px;
        width:340px;
        height:340px;
    }

    .atl-login-page::after{
        display:none;
    }

    .atl-login-layout{
        display:block;
        min-height:0;
    }

    .atl-login-brand{
        min-height:0;
        justify-content:center;
        padding:31px 20px 29px;
        border-right:0;
        border-bottom:1px solid rgba(28,53,48,.075);
    }

    .atl-login-brand-inner{
        max-width:520px;
    }

    .atl-login-logo{
        margin-bottom:20px;
    }

    .atl-login-logo-text strong{
        font-size:25px;
    }

    .atl-login-label,
    .atl-login-brand-desc,
    .atl-login-services{
        display:none;
    }

    .atl-login-brand-title{
        max-width:430px;
        font-size:20px;
        line-height:1.5;
        letter-spacing:-.035em;
    }

    .atl-login-brand-title > span:not(.atl-login-free){
        margin-top:6px;
        font-size:14px;
        line-height:1.55;
    }

    .atl-login-auth{
        justify-content:center;
        padding:34px 20px 42px;
        background:#fbfcfa;
    }

    .atl-login-auth-inner{
        width:100%;
        max-width:500px;
    }

    .atl-login-home{
        margin-bottom:24px;
    }

    .atl-login-title{
        font-size:23px;
    }

    .atl-login-subtitle{
        margin-bottom:20px;
    }

    .atl-login-button{
        min-height:54px;
    }
}

@media (max-width:430px){
    .atl-login-brand{
        padding:26px 17px 25px;
    }

    .atl-login-logo{
        margin-bottom:16px;
    }

    .atl-login-brand-title{
        font-size:18px;
    }

    .atl-login-auth{
        padding:30px 16px 36px;
    }

    .atl-login-kicker{
        font-size:11px;
    }

    .atl-login-title{
        font-size:21px;
    }

    .atl-login-subtitle{
        font-size:14px;
    }

    .atl-login-recent-info{
        padding:11px 12px;
    }

    .atl-login-button{
        min-height:52px;
        padding-left:52px;
        padding-right:74px;
        font-size:14px;
    }

    .atl-login-provider-icon{
        left:15px;
    }

    .atl-login-badge{
        right:9px;
        padding:0 7px;
        font-size:10px;
    }
}

@media (prefers-reduced-motion:reduce){
    .atl-login-button,
    .atl-login-home{
        transition:none;
    }
}

/* =========================================================
   ALLTOZE — User Site Gate / academy page application modal
   user_site_gate.php
   - Calm warm-white + muted teal system
   - PC / Tablet / Mobile bottom-sheet optimization
   - font-weight maximum 700
========================================================= */

.atz-site-modal,
.atz-site-modal *{
    box-sizing:border-box;
}

.atz-site-modal{
    --atz-bg:var(--at-bg,#f6f7f4);
    --atz-surface:var(--at-surface,#ffffff);
    --atz-surface-soft:var(--at-surface-soft,#fafbf9);
    --atz-text:var(--at-text,#192826);
    --atz-text-2:var(--at-text-2,#30433f);
    --atz-muted:var(--at-muted,#687773);
    --atz-muted-2:var(--at-muted-2,#89948f);
    --atz-accent:var(--at-accent,#2d7467);
    --atz-accent-hover:var(--at-accent-hover,#245f55);
    --atz-accent-soft:var(--at-accent-soft,#e7f0ed);
    --atz-accent-soft-2:var(--at-accent-soft-2,#f0f5f3);
    --atz-line:var(--at-line,rgba(28,53,48,.10));
    --atz-line-strong:var(--at-line-strong,rgba(28,53,48,.16));

    position:fixed;
    inset:0;
    z-index:12050;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(16px,3vw,30px);

    font-family:'Paperozi',Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
    color:var(--atz-text);
}

.atz-site-modal[hidden]{
    display:none !important;
}

.atz-site-backdrop{
    position:absolute;
    inset:0;
    background:rgba(24,38,35,.46);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
}

.atz-site-dialog{
    position:relative;
    z-index:1;
    width:min(650px,100%);
    max-height:min(850px,calc(100dvh - 44px));
    overflow:hidden;

    border:1px solid rgba(255,255,255,.72);
    border-radius:26px;
    background:var(--atz-surface);
    box-shadow:
        0 30px 80px rgba(22,39,35,.20),
        0 6px 24px rgba(22,39,35,.08);

    animation:atzSiteModalIn .24s cubic-bezier(.2,.72,.22,1);
}

@keyframes atzSiteModalIn{
    from{
        opacity:0;
        transform:translateY(12px) scale(.985);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.atz-site-head{
    position:relative;
    padding:28px 30px 23px;
    overflow:hidden;
    border-bottom:1px solid var(--atz-line);
    background:
        radial-gradient(circle at 92% 10%,rgba(45,116,103,.08),transparent 31%),
        linear-gradient(180deg,#fdfefd 0%,#f8faf8 100%);
}

.atz-site-head::before{
    content:"";
    position:absolute;
    left:30px;
    top:0;
    width:56px;
    height:3px;
    border-radius:0 0 99px 99px;
    background:var(--atz-accent);
}

.atz-site-head-row{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-width:0;
    padding-right:46px;
}

.atz-site-icon{
    display:grid;
    place-items:center;
    flex:0 0 46px;
    width:46px;
    height:46px;
    border:1px solid rgba(45,116,103,.13);
    border-radius:14px;
    background:var(--atz-accent-soft);
    color:var(--atz-accent);
}

.atz-site-icon svg{
    width:23px;
    height:23px;
}

.atz-site-head-copy{
    min-width:0;
}

.atz-site-kicker{
    display:block;
    margin:0 0 5px;
    color:var(--atz-accent);
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.085em;
}

.atz-site-head h2{
    margin:0;
    color:var(--atz-text);
    font-size:clamp(21px,3vw,25px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-.04em;
    word-break:keep-all;
}

.atz-site-head p{
    margin:7px 0 0;
    color:var(--atz-muted);
    font-size:14px;
    font-weight:400;
    line-height:1.6;
    word-break:keep-all;
}

.atz-site-close{
    position:absolute;
    z-index:2;
    right:18px;
    top:18px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid var(--atz-line);
    border-radius:12px;
    background:rgba(255,255,255,.82);
    color:#53645f;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.atz-site-close svg{
    width:17px;
    height:17px;
}

.atz-site-close:hover{
    border-color:var(--atz-line-strong);
    background:#fff;
    color:var(--atz-text);
}

.atz-site-close:active{
    transform:scale(.96);
}

.atz-site-body{
    max-height:calc(100dvh - 174px);
    overflow:auto;
    padding:24px 30px 30px;
    background:var(--atz-surface);
    scrollbar-width:thin;
    scrollbar-color:rgba(45,116,103,.22) transparent;
}

.atz-site-body::-webkit-scrollbar{
    width:6px;
}

.atz-site-body::-webkit-scrollbar-thumb{
    border-radius:99px;
    background:rgba(45,116,103,.20);
}

.atz-site-info{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 21px;
    padding:13px 14px;
    border:1px solid rgba(45,116,103,.12);
    border-radius:14px;
    background:var(--atz-accent-soft-2);
    color:#46625c;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
    word-break:keep-all;
}

.atz-site-info-icon{
    display:grid;
    place-items:center;
    flex:0 0 24px;
    width:24px;
    height:24px;
    margin-top:1px;
    border-radius:8px;
    background:var(--atz-accent-soft);
    color:var(--atz-accent);
}

.atz-site-info-icon svg{
    width:14px;
    height:14px;
}

.atz-site-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;
}

.atz-site-field{
    min-width:0;
    margin:0 0 16px;
}

.atz-site-field.full{
    grid-column:1/-1;
}

.atz-site-field label{
    display:flex;
    align-items:center;
    gap:4px;
    margin:0 0 7px;
    color:#40524e;
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}

.atz-site-field label em{
    color:#b85f58;
    font-style:normal;
    font-weight:600;
}

.atz-site-field input{
    width:100%;
    height:50px;
    min-width:0;
    padding:0 14px;
    border:1px solid #d9e1dd;
    border-radius:12px;
    outline:none;
    background:#fff;
    color:var(--atz-text);
    font:inherit;
    font-size:15px;
    font-weight:400;
    line-height:1;
    caret-color:var(--atz-accent);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.atz-site-field input::placeholder{
    color:#a2ada9;
}

.atz-site-field input:hover{
    border-color:#cbd6d1;
}

.atz-site-field input:focus{
    border-color:rgba(45,116,103,.62);
    box-shadow:0 0 0 4px rgba(45,116,103,.09);
}

.atz-site-url{
    display:flex;
    align-items:center;
    min-width:0;
    height:50px;
    overflow:hidden;
    border:1px solid #d9e1dd;
    border-radius:12px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.atz-site-url:hover{
    border-color:#cbd6d1;
}

.atz-site-url:focus-within{
    border-color:rgba(45,116,103,.62);
    box-shadow:0 0 0 4px rgba(45,116,103,.09);
}

.atz-site-url-prefix{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    align-self:stretch;
    padding:0 11px 0 14px;
    border-right:1px solid var(--atz-line);
    background:#f7f9f7;
    color:#70807b;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
}

.atz-site-url input{
    height:48px;
    min-width:0;
    padding-left:11px;
    border:0!important;
    border-radius:0;
    box-shadow:none!important;
    background:transparent;
}

.atz-site-help{
    margin:7px 1px 0;
    color:#87938f;
    font-size:12px;
    font-weight:400;
    line-height:1.45;
}

.atz-site-agrees{
    display:grid;
    gap:10px;
    margin:1px 0 18px;
    padding:14px 15px;
    border:1px solid var(--atz-line);
    border-radius:14px;
    background:#fafbf9;
}

.atz-site-agrees label{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:0;
    color:#596a66;
    font-size:13px;
    font-weight:400;
    line-height:1.5;
    cursor:pointer;
    word-break:keep-all;
}

.atz-site-agrees input[type="checkbox"]{
    flex:0 0 auto;
    width:16px;
    height:16px;
    margin:2px 0 0;
    accent-color:var(--atz-accent);
}

.atz-site-agree-copy{
    display:block;
    min-width:0;
}

.atz-site-agree-title{
    display:block;
    color:#53635f;
    font-size:13px;
    line-height:1.45;
}

.atz-site-agree-title b{
    color:#354944;
    font-weight:700;
}

.atz-site-agree-copy small{
    display:block;
    margin-top:2px;
    color:#87938f;
    font-size:11.5px;
    font-weight:400;
    line-height:1.45;
}

.atz-site-tel-help{
    margin-top:6px;
    font-size:11.5px;
    line-height:1.45;
    color:#87938f;
}



.atz-site-error{
    display:none;
    margin:-2px 0 16px;
    padding:11px 13px;
    border:1px solid rgba(166,79,70,.12);
    border-radius:11px;
    background:#fbf3f1;
    color:#98534c;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
}

.atz-site-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding-top:2px;
}

.atz-site-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 20px;
    border:1px solid transparent;
    border-radius:12px;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.atz-site-btn.primary{
    flex:1;
    min-width:170px;
    border-color:var(--atz-accent);
    background:var(--atz-accent);
    color:#fff;
    box-shadow:0 10px 24px rgba(45,116,103,.15);
}

.atz-site-btn.primary:hover{
    border-color:var(--atz-accent-hover);
    background:var(--atz-accent-hover);
    box-shadow:0 12px 28px rgba(45,116,103,.19);
    transform:translateY(-1px);
}

.atz-site-btn.primary:disabled{
    opacity:.62;
    box-shadow:none;
    cursor:wait;
    transform:none;
}

.atz-site-btn.ghost{
    flex:0 0 auto;
    border-color:var(--atz-line-strong);
    background:#fff;
    color:#61716d;
}

.atz-site-btn.ghost:hover{
    border-color:#cbd6d1;
    background:#f7f9f7;
    color:var(--atz-text-2);
}

.atz-site-status-card{
    max-width:470px;
    margin:0 auto;
    padding:10px 0 3px;
    text-align:center;
}

.atz-site-status-mark{
    display:grid;
    place-items:center;
    width:66px;
    height:66px;
    margin:0 auto 16px;
    border:1px solid rgba(45,116,103,.12);
    border-radius:20px;
    background:var(--atz-accent-soft);
    color:var(--atz-accent);
    font-size:29px;
    font-weight:600;
    line-height:1;
}

.atz-site-status-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    margin:0 0 12px;
    padding:0 11px;
    border:1px solid rgba(45,116,103,.12);
    border-radius:999px;
    background:var(--atz-accent-soft-2);
    color:var(--atz-accent);
    font-size:11px;
    font-weight:700;
    line-height:1;
}

#atzSiteStatusView[data-state="reject"] .atz-site-status-mark,
#atzSiteStatusView[data-state="reject"] .atz-site-status-badge{
    border-color:rgba(166,79,70,.13);
    background:#fbf2f0;
    color:#a15a52;
}

#atzSiteStatusView[data-state="check"] .atz-site-status-mark,
#atzSiteStatusView[data-state="check"] .atz-site-status-badge{
    border-color:rgba(112,128,123,.16);
    background:#f0f3f1;
    color:#60726d;
}

#atzSiteStatusView[data-state="wait"] .atz-site-status-mark,
#atzSiteStatusView[data-state="wait"] .atz-site-status-badge{
    border-color:rgba(45,116,103,.10);
    background:#f1f5f3;
    color:#55766f;
}

.atz-site-status-card h3{
    margin:0 0 8px;
    color:var(--atz-text);
    font-size:22px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-.035em;
    word-break:keep-all;
}

.atz-site-status-card p{
    max-width:420px;
    margin:0 auto 19px;
    color:var(--atz-muted);
    font-size:14px;
    font-weight:400;
    line-height:1.7;
    word-break:keep-all;
}

.atz-site-address{
    margin:0 0 19px;
    padding:13px 15px;
    border:1px solid var(--atz-line);
    border-radius:13px;
    background:#f8faf8;
    color:#50615d;
    font-size:13px;
    font-weight:500;
    line-height:1.55;
    text-align:left;
    word-break:break-all;
}

.atz-site-address b{
    display:block;
    margin:0 0 4px;
    color:#7b8985;
    font-size:11px;
    font-weight:600;
    letter-spacing:.02em;
}

body.atz-site-modal-open{
    overflow:hidden!important;
    touch-action:none;
}

@media (max-width:760px){
    .atz-site-modal{
        padding:14px;
    }

    .atz-site-dialog{
        width:min(610px,100%);
        max-height:calc(100dvh - 28px);
        border-radius:22px;
    }

    .atz-site-head{
        padding:25px 24px 20px;
    }

    .atz-site-head::before{
        left:24px;
    }

    .atz-site-body{
        max-height:calc(100dvh - 158px);
        padding:21px 24px 25px;
    }
}

@media (max-width:620px){
    .atz-site-modal{
        align-items:flex-end;
        padding:0;
    }

    .atz-site-backdrop{
        background:rgba(24,38,35,.42);
        -webkit-backdrop-filter:blur(3px);
        backdrop-filter:blur(3px);
    }

    .atz-site-dialog{
        width:100%;
        max-height:min(92dvh,820px);
        border-width:1px 0 0;
        border-radius:24px 24px 0 0;
        box-shadow:0 -18px 55px rgba(22,39,35,.18);
        animation:atzSiteSheetIn .26s cubic-bezier(.2,.76,.22,1);
    }

    @keyframes atzSiteSheetIn{
        from{
            opacity:.72;
            transform:translateY(36px);
        }
        to{
            opacity:1;
            transform:translateY(0);
        }
    }

    .atz-site-dialog::before{
        content:"";
        display:block;
        position:absolute;
        z-index:3;
        left:50%;
        top:8px;
        width:38px;
        height:4px;
        border-radius:99px;
        background:#d5ddda;
        transform:translateX(-50%);
        pointer-events:none;
    }

    .atz-site-head{
        padding:28px 20px 18px;
    }

    .atz-site-head::before{
        display:none;
    }

    .atz-site-head-row{
        gap:12px;
        padding-right:42px;
    }

    .atz-site-icon{
        flex-basis:42px;
        width:42px;
        height:42px;
        border-radius:13px;
    }

    .atz-site-icon svg{
        width:21px;
        height:21px;
    }

    .atz-site-head h2{
        font-size:21px;
    }

    .atz-site-head p{
        margin-top:5px;
        font-size:13px;
        line-height:1.55;
    }

    .atz-site-close{
        right:14px;
        top:19px;
        width:36px;
        height:36px;
    }

    .atz-site-body{
        max-height:calc(92dvh - 116px);
        padding:19px 20px calc(20px + env(safe-area-inset-bottom));
    }

    .atz-site-info{
        margin-bottom:18px;
        padding:12px 13px;
        font-size:12.5px;
    }

    .atz-site-grid{
        grid-template-columns:minmax(0,1fr);
        gap:0;
    }

    .atz-site-field.full{
        grid-column:auto;
    }

    .atz-site-field{
        margin-bottom:14px;
    }

    .atz-site-field input,
    .atz-site-url{
        height:49px;
    }

    .atz-site-url input{
        height:47px;
    }

    .atz-site-agrees{
        margin-top:2px;
        padding:13px;
    }

    .atz-site-actions{
        flex-direction:column-reverse;
        gap:9px;
    }

    .atz-site-btn,
    .atz-site-btn.primary,
    .atz-site-btn.ghost{
        width:100%;
        min-width:0;
        min-height:50px;
    }

    .atz-site-status-card{
        padding-top:7px;
    }
}

@media (max-width:390px){
    .atz-site-head{
        padding-left:17px;
        padding-right:17px;
    }

    .atz-site-head-row{
        padding-right:38px;
    }

    .atz-site-close{
        right:11px;
    }

    .atz-site-body{
        padding-left:17px;
        padding-right:17px;
    }

    .atz-site-url-prefix{
        padding-left:11px;
        padding-right:8px;
        font-size:12px;
    }

    .atz-site-field input{
        padding-left:12px;
        padding-right:12px;
        font-size:14px;
    }

    .atz-site-status-card h3{
        font-size:20px;
    }
}

@media (prefers-reduced-motion:reduce){
    .atz-site-dialog,
    .atz-site-btn,
    .atz-site-close,
    .atz-site-field input,
    .atz-site-url{
        animation:none!important;
        transition:none!important;
    }
}

/* =========================================================
   ALLTOZE — Premium Brand Finish v4
   - layout/HTML/JS untouched
   - warm ivory + deep forest + restrained bronze
   - desktop / tablet / mobile header stability
   - font-weight max 700
========================================================= */

html,
body{
    background:var(--at-bg);
    color:var(--at-text);
}

/* ---------- Header ---------- */
.topbar,
.is-home .topbar,
body:not(.is-home) .topbar,
.topbar.is-scrolled{
    border-bottom-color:rgba(27,49,43,.09);
    background:rgba(250,249,245,.94);
    box-shadow:0 8px 28px rgba(24,43,38,.045);
    -webkit-backdrop-filter:blur(18px) saturate(112%);
    backdrop-filter:blur(18px) saturate(112%);
}

.is-home .topbar{
    background:rgba(248,247,242,.90);
}

.topbar.is-scrolled{
    background:rgba(252,251,247,.97);
}

.logo1{
    border-color:rgba(47,102,92,.14);
    background:#f6f4ee;
}

.brandTitle,
.is-home .brandTitle,
.topbar.is-scrolled .brandTitle,
body:not(.is-home) .brandTitle{
    color:#1e342f;
}

.brandSub,
.is-home .brandSub,
.topbar.is-scrolled .brandSub,
body:not(.is-home) .brandSub{
    color:#8a938f;
}

.navLink,
.is-home .navLink,
.topbar.is-scrolled .navLink,
body:not(.is-home) .navLink{
    color:#344641;
}

.navItem:hover>.navLink,
.navLink.active,
.is-home .navItem:hover>.navLink,
.is-home .navLink.active,
.topbar.is-scrolled .navItem:hover>.navLink,
.topbar.is-scrolled .navLink.active{
    color:var(--at-accent-hover);
    background:rgba(47,102,92,.075);
}

.dropdown{
    border-color:rgba(27,49,43,.11);
    background:#fffefa;
    box-shadow:0 20px 54px rgba(24,43,38,.12);
}

.dropdown a{
    color:#53635f;
}

.dropdown a:hover{
    color:var(--at-accent-hover);
    background:#f1f3ee;
}

.header-login,
.is-home .header-login,
.topbar.is-scrolled .header-login{
    border-color:rgba(27,49,43,.16);
    background:rgba(255,254,250,.82);
    color:#354843;
}

.header-login:hover{
    border-color:rgba(47,102,92,.28);
    background:#fffefa;
    color:var(--at-accent-hover);
}

.header-cta,
.is-home .header-cta,
.topbar.is-scrolled .header-cta{
    border-color:rgba(47,102,92,.22);
    background:#e5ece8;
    color:#254f48;
}

.header-cta:hover{
    border-color:rgba(47,102,92,.31);
    background:#dce7e2;
}

/* ---------- Hero ---------- */
.at-home{
    background:#fffefa;
}

.at-hero{
    background:
        radial-gradient(circle at 82% 18%,rgba(47,102,92,.105),transparent 31%),
        radial-gradient(circle at 16% 88%,rgba(168,135,82,.055),transparent 26%),
        linear-gradient(145deg,#f7f5ef 0%,#eef1ed 52%,#f7f5ef 100%);
}

.at-hero::before{
    opacity:.74;
    background:
        radial-gradient(circle at 80% 22%,rgba(47,102,92,.08),transparent 30%),
        radial-gradient(circle at 19% 84%,rgba(168,135,82,.035),transparent 25%);
}

.at-hero::after{
    border-color:rgba(47,102,92,.08);
    box-shadow:
        0 0 0 68px rgba(47,102,92,.016),
        0 0 0 136px rgba(168,135,82,.010);
}

.at-hero-kicker{
    border-color:rgba(47,102,92,.17);
    background:rgba(255,254,250,.74);
    color:var(--at-accent-hover);
}

.at-hero-title{
    color:#172b26;
}

.at-hero-title em{
    color:var(--at-accent);
}

.at-hero-desc{
    color:#68756f;
}

.at-btn-primary{
    border-color:#294f47;
    background:#294f47;
    color:#fff;
    box-shadow:0 13px 28px rgba(33,67,59,.18);
}

.at-btn-primary:hover{
    border-color:#203f39;
    background:#203f39;
    box-shadow:0 16px 34px rgba(30,61,54,.22);
}

.at-btn-ghost{
    border-color:rgba(27,49,43,.14);
    background:rgba(255,254,250,.78);
    color:#384944;
}

.at-btn-ghost:hover{
    border-color:rgba(47,102,92,.25);
    background:#fffefa;
    color:var(--at-accent-hover);
}

.at-browser{
    border-color:rgba(27,49,43,.12);
    background:#e9ece7;
    box-shadow:0 34px 72px rgba(24,43,38,.15);
}

.at-browser-url{
    background:rgba(255,254,250,.72);
}

.at-phone,
.at-app-phone{
    background:#273b35;
}

.at-phone::before,
.at-app-phone::before{
    background:#15221e;
}

.at-float-card,
.at-dashboard-chip,
.at-app-card{
    border-color:rgba(27,49,43,.10);
    background:rgba(255,254,250,.94);
    box-shadow:0 16px 38px rgba(24,43,38,.10);
}

/* ---------- Feature rail ---------- */
.at-feature-rail-inner{
    border-color:rgba(27,49,43,.11);
    background:#fffefa;
    box-shadow:0 24px 58px rgba(24,43,38,.10);
}

.at-rail-item+.at-rail-item{
    border-color:rgba(27,49,43,.10);
}

.at-rail-icon{
    background:#eef2ee;
    color:var(--at-accent);
}

/* ---------- Solutions ---------- */
.at-solutions{
    background:
        linear-gradient(180deg,#fffefa 0%,#f3f1eb 100%);
}

.at-solution-card{
    border-color:rgba(27,49,43,.105);
    background:#fffefa;
    box-shadow:0 10px 30px rgba(24,43,38,.052);
}

.at-solution-card:hover{
    border-color:rgba(47,102,92,.22);
    background:#fffefa;
    box-shadow:0 24px 52px rgba(24,43,38,.10);
}

.at-solution-media{
    background:#eceee9;
}

.at-solution-card:nth-child(2) .at-solution-media{
    background:#edf0eb;
}

/* ---------- Dashboard: premium dark anchor ---------- */
.at-dashboard{
    color:#f7f5ef;
    background:
        radial-gradient(circle at 78% 20%,rgba(168,135,82,.10),transparent 28%),
        linear-gradient(145deg,#223a34 0%,#2c4942 58%,#35574f 100%);
}

.at-dashboard .at-eyebrow{
    color:#c8d9d3;
}

.at-dashboard .at-section-title{
    color:#fbfaf6;
}

.at-dashboard .at-section-desc{
    color:rgba(255,255,255,.66);
}

.at-dashboard-glow{
    background:rgba(196,170,119,.08);
}

.at-dashboard-browser{
    border-color:rgba(255,255,255,.12);
    background:#192b27;
    box-shadow:0 34px 80px rgba(10,24,20,.32);
}

.at-dashboard-benefit{
    border-top-color:rgba(255,255,255,.14);
}

.at-dashboard-benefit strong{
    color:#e7ddd0;
}

.at-dashboard-benefit span{
    color:rgba(255,255,255,.58);
}

/* ---------- Workflow ---------- */
.at-flow{
    background:#fffefa;
}

.at-step-dot{
    border-color:rgba(47,102,92,.20);
    background:#f2f4ef;
    color:var(--at-accent-hover);
    box-shadow:0 9px 22px rgba(24,43,38,.065);
}

.at-step-tags span{
    border-color:rgba(47,102,92,.09);
    background:#f0f4f1;
}

/* ---------- App ---------- */
.at-app{
    background:
        linear-gradient(180deg,#efeee8 0%,#e9ede8 100%);
}

.at-app-ring{
    border-color:rgba(47,102,92,.12);
    box-shadow:
        0 0 0 48px rgba(47,102,92,.017),
        0 0 0 96px rgba(168,135,82,.010);
}

/* ---------- Results ---------- */
.at-results{
    background:#fffefa;
}

.at-result-box{
    border-color:rgba(27,49,43,.11);
    background:#fffefa;
    box-shadow:0 16px 42px rgba(24,43,38,.065);
}

.at-result-item{
    border-color:rgba(27,49,43,.10);
}

/* ---------- Final CTA: light premium finish ---------- */
.at-final{
    background:#fffefa;
}

.at-final-card{
    border:1px solid rgba(47,102,92,.15);
    background:
        radial-gradient(circle at 88% 10%,rgba(47,102,92,.09),transparent 28%),
        linear-gradient(145deg,#f3f0e8 0%,#e8ede8 100%);
    color:var(--at-text);
    box-shadow:0 20px 52px rgba(24,43,38,.085);
}

.at-final-card::before{
    border-color:rgba(47,102,92,.10);
}

.at-final-copy small{
    color:#8a714c;
}

.at-final-copy h2{
    color:#1e342f;
}

.at-final-copy p{
    color:#697772;
}

.at-final .at-btn-primary{
    border-color:#294f47;
    background:#294f47;
    color:#fff;
}

.at-final .at-btn-primary:hover{
    border-color:#203f39;
    background:#203f39;
    color:#fff;
}

.at-final .at-btn-ghost{
    border-color:rgba(27,49,43,.16);
    background:rgba(255,254,250,.72);
    color:#334641;
}

.at-final .at-btn-ghost:hover{
    background:#fffefa;
    color:var(--at-accent-hover);
}

/* ---------- Footer ---------- */
.footer{
    border-top:1px solid rgba(255,255,255,.06);
    background:#203731;
    color:rgba(255,255,255,.60);
}

.right-box a{
    color:rgba(255,255,255,.74);
}

/* ---------- Login page ---------- */
.atl-login-brand{
    border-right-color:rgba(27,49,43,.08);
    background:
        radial-gradient(circle at 18% 14%,rgba(168,135,82,.07),transparent 25%),
        linear-gradient(145deg,#eceae3 0%,#e6ece7 100%);
}

.atl-login-page{
    --atl-bg:var(--at-bg);
    --atl-surface:#fffefa;
    --atl-surface-soft:#faf9f5;
    --atl-text:var(--at-text);
    --atl-text-2:var(--at-text-2);
    --atl-muted:var(--at-muted);
    --atl-muted-2:var(--at-muted-2);
    --atl-accent:var(--at-accent);
    --atl-accent-hover:var(--at-accent-hover);
    --atl-accent-soft:var(--at-accent-soft);
}

.atl-login-auth{
    background:rgba(255,254,250,.82);
}

/* ---------- Site gate modal ---------- */
.atz-site-modal{
    --atz-bg:var(--at-bg);
    --atz-surface:#fffefa;
    --atz-surface-soft:#faf9f5;
    --atz-text:var(--at-text);
    --atz-text-2:var(--at-text-2);
    --atz-muted:var(--at-muted);
    --atz-muted-2:var(--at-muted-2);
    --atz-accent:var(--at-accent);
    --atz-accent-hover:var(--at-accent-hover);
    --atz-accent-soft:var(--at-accent-soft);
    --atz-accent-soft-2:var(--at-accent-soft-2);
}

.atz-site-head{
    background:
        radial-gradient(circle at 92% 10%,rgba(168,135,82,.055),transparent 28%),
        linear-gradient(180deg,#fffefa 0%,#f7f5ef 100%);
}

/* =========================================================
   Header conflict hard-fix
   main.css의 구형 모바일 column 레이아웃이 남아 있어도
   로그인 후 헤더가 두 줄로 깨지지 않도록 보장
========================================================= */
@media (max-width:980px){
    .topbar-inner{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-wrap:nowrap !important;
        padding:0 !important;
    }

    .brand{
        order:1;
        min-width:0;
        flex:0 1 auto;
    }

    .rightBox{
        order:2;
        min-width:0;
        margin:0 0 0 auto !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 1 auto;
    }

    .navArea{
        order:3;
        min-width:auto;
        flex:0 0 auto;
        justify-content:flex-end !important;
    }

    .mToggle{
        position:relative;
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
    }

    .menu-bars{
        position:relative;
        display:block;
        width:18px;
        height:2px;
        border-radius:2px;
        background:currentColor;
        transition:background .18s ease;
    }

    .menu-bars::before,
    .menu-bars::after{
        content:"";
        position:absolute;
        left:0;
        width:18px;
        height:2px;
        border-radius:2px;
        background:currentColor;
        transition:transform .18s ease,top .18s ease;
    }

    .menu-bars::before{top:-6px;}
    .menu-bars::after{top:6px;}

    .mToggle.open .menu-bars,
    .mToggle[aria-expanded="true"] .menu-bars{
        background:transparent;
    }

    .mToggle.open .menu-bars::before,
    .mToggle[aria-expanded="true"] .menu-bars::before{
        top:0;
        transform:rotate(45deg);
    }

    .mToggle.open .menu-bars::after,
    .mToggle[aria-expanded="true"] .menu-bars::after{
        top:0;
        transform:rotate(-45deg);
    }

    .header-user{
        min-width:0;
        display:flex !important;
        align-items:center;
        gap:7px;
    }

    .header-logout{
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
    }
}

@media (max-width:820px) and (min-width:681px){
    .header-user-meta span{
        display:none;
    }
}

@media (max-width:680px){
    .topbar{
        height:64px !important;
    }

    .topbar-inner{
        width:calc(100% - 22px) !important;
        height:64px !important;
    }

    .rightBox{
        gap:5px !important;
    }

    .header-user-meta{
        display:none !important;
    }

    .header-logout{
        width:38px !important;
        height:38px !important;
        padding:0 !important;
        border-radius:11px !important;
    }

    .mToggle{
        width:40px !important;
        height:40px !important;
        border-radius:11px !important;
    }
}

/* ---------- Weight cap ---------- */
/* 실제 선언이 700을 넘는 기존 규칙을 최종적으로 제한 */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body strong,
body b{
    font-weight:700;
}
