/* PerformCV - charte du graphiste (performcv-template/src/input.css). */
:root{
    --paper:#f7f8fa;
    --surface:#ffffff;
    --ink:#172b4d;
    --muted:#526175;
    --line:#e4e8ef;
    --accent:#eef3ff;
    --brand:#315efb;
    --danger:#a43331;
    --radius:12px;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    font-synthesis:none
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:30px
}
body{
    margin:0;
    font-size:15px;
    line-height:1.6
}
a{
    color:inherit;
    text-underline-offset:4px
}
button,input,select,textarea{
    font:inherit
}
button,a,input,select,textarea{
    touch-action:manipulation
}
button{
    cursor:pointer
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid #315efb;
    outline-offset:4px
}
.site-header,.site-main,.site-footer{
    max-width:1360px;
    margin:0 auto;
    padding-left:64px;
    padding-right:64px
}
.site-header{
    height:88px;
    background:var(--surface);
    position:relative;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    gap:24px
}
/* Extend only the header background; keep dropdowns outside its height visible. */
.site-header::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--surface);
    box-shadow:0 0 0 100vmax var(--surface);
    clip-path:inset(0 -100vmax);
    pointer-events:none
}
.brand{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    font-size:27px;
    font-weight:800;
    letter-spacing:-1.3px
}
.brand>span:not(.brand-icon):not(.brand-dot){
    font-weight:700;
    color:var(--brand)
}
.brand-icon{
    background:var(--brand);
    color:white;
    transform:rotate(-5deg);
    width:39px;
    height:39px;
    border-radius:9px;
    display:inline-grid;
    place-items:center;
    margin-right:12px;
    letter-spacing:-4px;
    padding-right:4px;
    font-size:28px
}
.brand-icon svg{
    width:23px;
    height:27px
}
.brand-dot{
    color:#315efb
}
.site-header nav{
    display:flex;
    align-items:center;
    gap:30px
}
.site-header nav>a:not(.button){
    text-decoration:none;
    font-size:14px
}
.site-header nav>a[aria-current]{
    text-decoration:underline
}
.advice-menu{position:relative;font-size:14px}
.advice-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:10px 0}
.advice-menu summary::-webkit-details-marker{display:none}
.advice-menu summary:focus-visible,.advice-menu a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.advice-menu[open] .advice-chevron{transform:rotate(180deg)}
.advice-menu ul{position:absolute;right:0;top:100%;z-index:30;width:290px;max-width:calc(100vw - 40px);max-height:65vh;overflow-y:auto;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #00000014}
.advice-menu li a{display:block;padding:10px 12px;line-height:1.4;border-radius:6px;text-decoration:none}
.advice-menu li a:hover,.advice-menu li a[aria-current]{background:#f3f4f2}
.site-header form{
    margin:0
}
.site-main{
    min-height:calc(100vh - 260px);
    padding-top:34px;
    padding-bottom:72px
}
.site-footer{
    border-top:1px solid var(--line);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:28px;
    padding-bottom:28px;
    font-size:12px;
    color:var(--muted);
    background:var(--surface)
}
.site-footer .brand{
    font-size:22px
}
.site-footer p{
    margin:0
}
.button{
    border:1px solid transparent;
    border-radius:7px;
    background:var(--brand);
    color:var(--surface);
    padding:13px 21px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    line-height:1.5;
    transition:background .15s,transform .15s
}
.button:hover{
    background:#244ce1;
    transform:translateY(-1px)
}
.button.secondary{
    background:transparent;
    color:var(--ink);
    border-color:#dce2ed
}
.button.secondary:hover{
    background:#eef3ff
}
.button.small{
    padding:10px 18px
}
.button.full{
    width:100%;
    margin-top:16px
}
.text-link{
    font-size:14px;
    font-weight:600;
    text-decoration:none
}
.text-link:hover{
    text-decoration:underline
}
.actions{
    display:flex;
    align-items:center;
    gap:13px;
    flex-wrap:wrap
}
.eyebrow{
    font-size:10px;
    letter-spacing:2px;
    color:var(--brand);
    font-weight:700;
    line-height:1.8;
    text-transform:uppercase
}
.lead{
    font-size:17px;
    color:var(--muted);
    line-height:1.8;
    max-width:520px
}
.fine{
    font-size:11px;
    color:var(--muted);
    margin-top:24px;
    max-width:390px
}
.hero{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:60px;
    align-items:center;
    padding:65px 0 75px;
    background:linear-gradient(115deg,#fbfcff,#f5f7fc);
    box-shadow:0 0 0 100vmax #f7f9fd;
    clip-path:inset(0 -100vmax)
}
.hero h1{
    font-family:inherit;
    font-size:clamp(40px,4.25vw,62px);
    font-weight:750;
    line-height:1.08;
    letter-spacing:-3px;
    margin:28px 0
}
.hero h1 em{
    font-weight:750;
    font-style:normal;
    color:#315efb
}
.hero .lead{
    max-width:425px;
    margin-bottom:30px
}
.hero .eyebrow{
    display:flex;
    align-items:center;
    gap:10px
}
.hero .eyebrow:before{
    content:'';
    display:block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--brand)
}
.hero-art{
    position:relative;
    background:radial-gradient(circle,#e7edff 0%,#edf2ff55 62%,transparent 63%);
    border-radius:50%;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:45px 35px 60px;
    overflow:visible
}
.hero-art:after{
    content:'';
    position:absolute;
    inset:25px;
    border:1px dashed #d8e0f6;
    border-radius:50%;
    pointer-events:none
}
.floating-label{
    position:absolute;
    left:10px;
    top:25px;
    background:white;
    border:1px solid var(--line);
    border-radius:30px;
    font-size:8px;
    letter-spacing:1px;
    padding:10px 16px;
    z-index:2;
    box-shadow:0 5px 15px #172b4d08
}
.sample-cv{
    width:320px;
    background:var(--surface);
    box-shadow:0 20px 50px #172b4d20;
    padding:32px;
    transform:rotate(3deg);
    position:relative;
    z-index:1;
    border-top:3px solid var(--brand);
    font-size:9px;
    line-height:1.7
}
.sample-cv h2{
    font:750 28px/1.1 Inter,"Segoe UI",Arial,sans-serif;
    margin:14px 0 3px;
    letter-spacing:-1px
}
.sample-cv h3{
    font-size:12px;
    margin-bottom:3px
}
.sample-cv .eyebrow{
    font-size:7px;
    margin:22px 0 9px
}
.sample-cv .eyebrow:before{
    display:none
}
.sample-cv hr{
    border:0;
    border-top:1px solid var(--line);
    margin:20px 0
}
.sample-job{
    color:var(--muted)
}
.sample-monogram{
    display:grid;
    place-items:center;
    font-size:12px;
    background:#eef3ff;
    border-radius:50%;
    width:34px;
    height:34px
}
.sample-lines{
    display:grid;
    gap:5px;
    margin:12px 0
}
.sample-lines i{
    height:3px;
    background:#dfe4ec;
    width:100%
}
.sample-lines i:last-child{
    width:70%
}
.tags{
    display:flex;
    gap:5px;
    flex-wrap:wrap
}
.tags span{
    border:1px solid var(--line);
    padding:3px 6px;
    font-size:7px
}
.art-caption{
    position:absolute;
    bottom:23px;
    left:35px;
    font-size:8px;
    letter-spacing:1.5px
}
.intro-section{
    border-top:1px solid var(--line);
    padding-top:60px;
    padding-bottom:35px
}
.intro-section>h2{
    font:700 33px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    letter-spacing:-1px
}
.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:45px;
    padding-top:30px
}
.feature-grid h3{
    font-size:18px;
    font-weight:650
}
.feature-grid p{
    color:var(--muted);
    font-size:14px
}
.step{
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    color:#315efb
}
.home-content{
    margin-top:60px;
    scroll-margin-top:24px
}
.home-content>p:not(.eyebrow),.home-faq p{
    max-width:75ch;
    color:var(--muted);
    line-height:1.75
}
.home-faq{
    margin:28px 0
}
.home-faq details{
    border-bottom:1px solid var(--line);
    padding:18px 0
}
.home-faq summary{
    cursor:pointer;
    font-weight:600;
    line-height:1.5
}
.page-heading{
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center;
    margin:25px 0 45px
}
.page-heading h1,.form-layout h1,.prose h1{
    font-family:inherit;
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1.8px;
    font-weight:700;
    margin:12px 0
}
.page-heading .lead{
    margin:14px 0
}
.accent{
    color:#315efb
}
.section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px
}
.section-heading h2{
    font-size:21px;
    letter-spacing:-.5px;
    font-weight:500;
    margin:0
}
.muted{
    color:var(--muted);
    font-size:12px
}
.profile-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}
.profile-card{
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--surface);
    padding:27px;
    display:flex;
    flex-direction:column
}
.card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px
}
.profile-number{
    font:700 28px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    color:#315efb
}
.badge{
    font-size:10px;
    letter-spacing:.2px;
    background:#f2f4f8;
    border:1px solid #e1e8ff;
    padding:3px 10px;
    border-radius:20px;
    white-space:nowrap
}
.badge.public{
    background:var(--accent)
}
.profile-card h2{
    font:650 25px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    line-height:1.2;
    margin:24px 0 10px
}
.profile-card h2 a{
    text-decoration:none
}
.profile-card>p{
    color:var(--muted);
    font-size:13px;
    flex:1
}
.card-bottom{
    margin-top:25px;
    padding-top:18px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-size:11px;
    color:var(--muted)
}
.round-link{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid var(--line);
    font-size:19px;
    text-decoration:none;
    color:var(--ink);
    flex-shrink:0
}
.empty-state{
    grid-column:1/-1;
    border:1px dashed #c9d4f3;
    border-radius:var(--radius);
    text-align:center;
    padding:55px 25px;
    background:#f0f3fa
}
.empty-state h2{
    font:700 28px/1.2 Inter,"Segoe UI",Arial,sans-serif;
}
.empty-state p{
    color:var(--muted);
    margin-bottom:25px
}
.empty-icon{
    font-size:42px
}
.pagination{
    display:flex;
    justify-content:center;
    gap:26px;
    margin-top:36px;
    font-size:13px
}
.form-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
    padding:30px 0;
    align-items:start
}
.form-layout aside{
    position:sticky;
    top:35px;
    padding-top:6px
}
.form-layout aside>.eyebrow{
    margin-top:35px
}
.form-layout .lead{
    max-width:330px
}
.form-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:35px
}
.form-card h2{
    font:700 28px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    margin-top:0
}
.form-card>p{
    font-size:13px;
    color:var(--muted)
}
.form-card form>div>div{
    margin-bottom:19px
}
.form-card label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px
}
.form-card input:not([type=checkbox]):not([type=hidden]),.form-card select,.form-card textarea,.share-card input{
    width:100%;
    border:1px solid #c9d1df;
    border-radius:6px;
    background:var(--surface);
    padding:11px 12px;
    color:var(--ink);
    min-height:45px
}
.form-card input[type=checkbox]{
    accent-color:var(--brand);
    width:18px;
    height:18px;
    vertical-align:middle;
    margin-right:10px
}
.form-card input[type=checkbox]+label{
    display:inline
}
.form-card textarea{
    resize:vertical;
    min-height:110px
}
.form-card input+label{
    margin-top:20px
}
.form-card .help-text,.form-help,.form-card .help{
    font-size:12px;
    color:var(--muted);
    margin-top:7px
}
.form-card ul{
    padding:10px 20px;
    background:#fbece8;
    color:var(--danger);
    font-size:13px;
    border-radius:6px
}
.form-card fieldset{
    border:0;
    padding:0;
    margin:0
}
.form-card legend{
    font-size:13px;
    font-weight:600;
    margin-bottom:6px
}
.aside-mark{
    font:750 180px/1 Inter,"Segoe UI",Arial,sans-serif;
    letter-spacing:-18px;
    color:#e1e8ff;
    margin-top:45px
}
.aside-mark span{
    font:130px Arial,sans-serif;
    letter-spacing:-20px;
    vertical-align:top
}
.back{
    text-decoration:none;
    font-size:12px;
    color:var(--muted);
    display:inline-block;
    margin:8px 0 16px
}
.back:hover{
    text-decoration:underline
}
.notice{
    padding:16px 20px;
    background:#e8f6ed;
    border:1px solid #c6e6d3;
    border-radius:8px;
    margin:0 0 24px;
    font-size:14px
}
.notice.error{
    background:#fbece8;
    border-color:#eec7bf;
    color:var(--danger)
}
.link{
    font-size:13px;
    color:var(--ink);
    border:0;
    background:transparent;
    padding:0;
    text-decoration:underline;
    text-underline-offset:4px
}
.danger{
    color:var(--danger)
}
.workspace-layout{
    display:grid;
    grid-template-columns:205px minmax(0,1fr);
    gap:45px
}
.section-nav{
    position:sticky;
    top:30px;
    align-self:start;
    display:grid;
    gap:3px
}
.section-nav>.eyebrow{
    margin:0 0 15px;
    color:var(--muted)
}
.section-nav a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-decoration:none;
    font-size:13px;
    padding:11px 12px;
    border-radius:6px
}
.section-nav a:hover{
    background:#eef3ff
}
.section-nav a span{
    font-size:11px;
    color:var(--muted)
}
.section-panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    margin-bottom:22px;
    scroll-margin-top:25px
}
.entry-row{
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:25px;
    border-top:1px solid var(--line);
    padding:19px 0
}
.entry-row:last-child{
    padding-bottom:0
}
.entry-row h3,.cv-entry h3{
    font-size:16px;
    line-height:1.4;
    margin:0 0 4px;
    font-weight:600
}
.entry-row p,.cv-entry p{
    margin:4px 0
}
.entry-meta{
    font-size:13px;
    color:var(--muted)
}
.entry-date{
    font-size:11px;
    color:var(--muted)
}
.entry-description{
    font-size:13px;
    white-space:normal;
    overflow-wrap:anywhere
}
.entry-actions{
    display:flex;
    flex-direction:column;
    align-items:end;
    gap:6px;
    font-size:11px;
    flex-shrink:0
}
.entry-actions .link{
    font-size:11px
}
.empty-inline{
    color:var(--muted);
    font-size:13px;
    padding:14px 0;
    margin:0
}
.cv-list-item{
    display:flex;
    align-items:center;
    gap:18px;
    text-decoration:none;
    border-top:1px solid var(--line);
    padding:18px 0
}
.cv-list-item>span:last-child{
    margin-left:auto;
    font-size:22px
}
.cv-list-item p{
    font-size:11px;
    color:var(--muted);
    margin:0
}
.document-icon{
    background:#eef3ff;
    padding:9px 15px;
    border-radius:5px;
    font-size:24px
}
.delete-zone{
    border-top:1px solid var(--line);
    margin-top:32px;
    padding-top:20px;
    color:var(--muted);
    font-size:12px
}
.delete-zone h3{
    font-size:14px;
    font-weight:500;
    color:var(--danger)
}
.danger-button{
    background:transparent;
    border-color:#d2b3ac;
    color:var(--danger);
    font-size:12px
}
.danger-button:hover{
    background:#f8e7e0
}
.cv-workspace{
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
    gap:30px;
    align-items:start
}
.preview-wrap{
    background:#e9edf3;
    padding:22px;
    border-radius:var(--radius)
}
.cv-document{
    --cv-color:#315efb;
    background:white;
    color:#25344a;
    max-width:820px;
    min-height:1000px;
    margin:0 auto;
    padding:50px 48px;
    box-shadow:0 4px 14px #172b1d0a;
    overflow-wrap:anywhere
}
.cv-header{
    border-bottom:2px solid var(--cv-color);
    padding-bottom:25px;
    margin-bottom:28px
}
.cv-header h1{
    font:750 43px/1.1 Inter,"Segoe UI",Arial,sans-serif;
    color:var(--cv-color);
    margin:15px 0;
    letter-spacing:-1.5px
}
.cv-job{
    font-size:17px;
    margin:0 0 16px
}
.cv-contact{
    display:flex;
    gap:7px 15px;
    flex-wrap:wrap;
    font-size:10px;
    color:#66748a
}
.cv-contact a{
    color:var(--cv-color)
}
.cv-section{
    margin:25px 0;
    break-inside:auto
}
.cv-section h2{
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--cv-color);
    border-bottom:1px solid #e4e8ef;
    padding-bottom:9px;
    margin-bottom:18px;
    break-after:avoid
}
.cv-summary>p{
    font-size:13px
}
.cv-entry{
    margin:17px 0;
    break-inside:avoid
}
.cv-entry h3{
    font-size:14px
}
.cv-entry a{
    font-size:11px
}
.cv-entry .entry-description{
    font-size:12px
}
.cv-entry .entry-meta{
    font-size:12px
}
.cv-entry .entry-date{
    font-size:10px
}
.palette-emerald{
    --cv-color:#206b55
}
.palette-terracotta{
    --cv-color:#974c38
}
.font-serif{
    font-family:Georgia,serif
}
.font-serif .cv-header h1{
    font-style:italic
}
.layout-atelier .cv-header{
    text-align:center;
    border-top:5px solid var(--cv-color);
    padding-top:25px
}
.layout-atelier .cv-contact{
    justify-content:center
}
.layout-atelier .cv-section h2{
    font:650 20px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    text-transform:none;
    letter-spacing:0
}
.layout-horizon .cv-header{
    background:var(--cv-color);
    color:white;
    margin:-50px -48px 30px;
    padding:36px 48px
}
.layout-horizon .cv-header h1,.layout-horizon .cv-contact,.layout-horizon .cv-contact a{
    color:white
}
.layout-horizon .cv-section h2{
    border-left:4px solid var(--cv-color);
    padding-left:12px
}
.share-panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:23px;
    overflow-wrap:anywhere
}
.share-panel>h2{
    font:650 25px/1.2 Inter,"Segoe UI",Arial,sans-serif
}
.share-panel>p:not(.eyebrow){
    font-size:12px;
    color:var(--muted)
}
.share-card{
    border-top:1px solid var(--line);
    padding:20px 0
}
.share-card .card-top{
    font-size:12px
}
.share-card label{
    font-size:10px;
    display:block;
    margin-top:15px;
    margin-bottom:5px
}
.share-card input{
    font-size:11px
}
.share-card>a{
    font-size:11px
}
.share-card p{
    font-size:11px;
    color:var(--muted)
}
.share-card .view-count{
    font:650 23px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    color:var(--ink);
    margin:12px 0
}
.view-count span{
    font:11px Arial,sans-serif;
    color:var(--muted)
}
.public-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    max-width:820px;
    margin:0 auto 25px;
    gap:20px
}
.public-toolbar p{
    font-size:13px;
    color:var(--muted)
}
.prose{
    max-width:760px;
    margin:40px auto
}
.prose h2{
    font:650 25px/1.2 Inter,"Segoe UI",Arial,sans-serif;
    margin-top:35px
}
.prose p{
    color:var(--muted)
}
.skip-link{
    position:absolute;
    left:10px;
    top:-100px;
    padding:12px;
    background:var(--ink);
    color:white;
    z-index:100
}
.skip-link:focus{
    top:10px
}
@media(min-width:1400px){
    .hero{
        gap:95px
    }
}
@media(max-width:1050px){
    .site-header,.site-main,.site-footer{
        padding-left:32px;
        padding-right:32px
    }
    .hero{
        gap:30px
    }
    .hero-art{
        min-height:500px;
        padding:35px 25px
    }
    .sample-cv{
        width:280px;
        padding:25px
    }
    .profile-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .form-layout{
        gap:45px
    }
    .workspace-layout{
        grid-template-columns:170px minmax(0,1fr);
        gap:25px
    }
    .cv-workspace{
        grid-template-columns:1fr
    }
    .share-panel{
        max-width:820px;
        width:100%;
        margin:auto
    }
    .cv-document{
        min-height:950px
    }
    .page-heading{
        align-items:start;
        flex-direction:column
    }
}
@media(max-width:700px){
    .site-header,.site-main,.site-footer{
        padding-left:20px;
        padding-right:20px
    }
    .site-header{
        height:auto;
        min-height:90px;
        gap:12px;
        flex-wrap:wrap;
        padding-top:18px;
        padding-bottom:18px
    }
    .brand{
        font-size:24px
    }
    .brand-icon{
        width:31px;
        height:31px;
        font-size:23px;
        margin-right:8px
    }
    .site-header nav{
        gap:16px;
        flex-wrap:wrap
    }
    .advice-menu{position:static;font-size:11px}
    .advice-menu ul{left:20px;right:20px;width:auto;max-width:none}
    .site-header nav>a:not(.button),.site-header .link{
        font-size:11px
    }
    .site-header .button{
        padding:8px 11px;
        font-size:11px
    }
    .hero{
        grid-template-columns:1fr;
        padding-top:18px;
        gap:35px;
        padding-bottom:45px
    }
    .hero h1{
        font-size:53px;
        letter-spacing:-2.5px
    }
    .hero-art{
        min-height:470px;
        max-width:440px;
        width:100%;
        margin:auto
    }
    .hero .lead{
        font-size:16px
    }
    .feature-grid{
        grid-template-columns:1fr;
        gap:25px;
        padding-top:10px
    }
    .feature-grid article{
        border-top:1px solid var(--line);
        padding-top:20px
    }
    .feature-grid h3{
        margin:8px 0
    }
    .feature-grid p{
        margin:8px 0
    }
    .intro-section>h2{
        font-size:34px
    }
    .profile-grid{
        grid-template-columns:1fr
    }
    .page-heading h1,.form-layout h1,.prose h1{
        font-size:38px;
        letter-spacing:-1px
    }
    .page-heading{
        margin:15px 0 30px;
        gap:18px
    }
    .page-heading .actions{
        gap:8px
    }
    .button{
        padding:11px 15px;
        gap:14px;
        font-size:12px
    }
    .form-layout{
        grid-template-columns:1fr;
        gap:20px;
        padding-top:0
    }
    .form-layout aside{
        position:static
    }
    .form-layout aside>.eyebrow{
        margin-top:12px
    }
    .form-layout .lead{
        max-width:none;
        font-size:15px
    }
    .aside-mark{
        display:none
    }
    .form-card{
        padding:24px
    }
    .workspace-layout{
        grid-template-columns:1fr;
        gap:20px
    }
    .section-nav{
        position:static;
        display:flex;
        overflow-x:auto;
        gap:8px;
        padding-bottom:10px
    }
    .section-nav>.eyebrow{
        display:none
    }
    .section-nav a{
        flex-shrink:0;
        gap:10px;
        padding:8px 10px;
        background:#eef3ff
    }
    .section-panel{
        padding:20px
    }
    .section-heading h2{
        font-size:19px
    }
    .section-heading .text-link{
        font-size:12px
    }
    .entry-row{
        gap:15px
    }
    .cv-document{
        padding:28px 25px;
        min-height:800px
    }
    .cv-header h1{
        font-size:34px
    }
    .cv-header .cv-job{
        font-size:15px
    }
    .layout-horizon .cv-header{
        margin:-28px -25px 25px;
        padding:25px
    }
    .preview-wrap{
        padding:10px
    }
    .cv-workspace{
        gap:20px
    }
    .public-toolbar{
        align-items:start;
        flex-direction:column;
        gap:5px
    }
    .site-footer{
        flex-wrap:wrap;
        font-size:10px
    }
    .site-footer p{
        display:none
    }
    .prose{
        margin-top:20px
    }
    .lead{
        font-size:15px
    }
    .entry-actions{
        font-size:10px
    }
}
@media print{
    @page{
        size:A4;
        margin:15mm 15mm 15mm 22mm
    }
    .site-header,.site-footer,.back,.page-heading,.share-panel,.public-toolbar,.notice,.skip-link{
        display:none!important
    }
    html,body{
        background:white;
        color:black
    }
    .site-main{
        padding:0!important;
        margin:0;
        max-width:none
    }
    .cv-workspace{
        display:block
    }
    .preview-wrap{
        background:none;
        padding:0
    }
    .cv-document{
        width:100%;
        max-width:none;
        margin:0;
        padding:0;
        box-shadow:none;
        min-height:0;
        font-size:11px
    }
    /* A linear text flow keeps PDF extraction in document order for ATS. */
    .cv-document,
    .cv-document *{
        color:#25313b!important;
        background:transparent!important;
        font-family:Arial,Helvetica,sans-serif!important;
        letter-spacing:normal!important;
        text-transform:none!important;
        font-style:normal!important;
        box-shadow:none!important
    }
    .cv-document{
        font-size:11pt;
        line-height:1.45;
        overflow:visible
    }
    .cv-document .cv-header{
        margin:0 0 16pt;
        padding:0 0 14pt;
        border:0;
        border-bottom:2pt solid var(--cv-color);
        text-align:left;
        position:static;
        break-inside:avoid
    }
    .cv-document .cv-header .eyebrow,.print-help{
        display:none!important
    }
    .cv-document .cv-header h1{
        color:var(--cv-color)!important;
        font-size:28pt;
        font-weight:700;
        line-height:1.2;
        margin:0 0 6pt
    }
    .cv-document .cv-header .cv-job{
        font-size:14pt;
        font-weight:600;
        margin:0 0 10pt
    }
    .cv-document .cv-contact,
    .cv-document .cv-sections,
    .cv-document .cv-contact>*{
        display:block;
        columns:auto;
        position:static
    }
    .cv-document .cv-section{
        margin:18pt 0;
        break-inside:auto
    }
    .cv-document .cv-section h2{
        font-size:13pt;
        font-weight:bold;
        color:var(--cv-color)!important;
        border:0;
        border-bottom:0.5pt solid #b7c1c6;
        padding:0 0 5pt;
        margin:0 0 10pt;
        break-after:avoid
    }
    .cv-document .cv-entry{
        margin:12pt 0;
        break-inside:avoid
    }
    .cv-document .cv-entry h3{
        font-size:11.5pt;
        font-weight:700;
        margin:0 0 3pt;
        break-after:avoid
    }
    .cv-document p,.cv-document a,.cv-document .cv-contact{
        font-size:11pt;
        overflow-wrap:anywhere;
        orphans:3;
        widows:3
    }
    .cv-document a{
        text-decoration:none
    }
    .cv-document .cv-entry .entry-meta{
        font-weight:600
    }
    .cv-document .cv-entry .entry-date{
        color:#495761!important;
        font-size:10pt;
        margin:3pt 0 6pt
    }
    .cv-document .cv-contact,
    .cv-document .cv-contact a{
        font-size:10pt;
        line-height:1.5
    }
    .cv-document .cv-contact>*{
        margin:2pt 0
    }
    .cv-document .entry-description,
    .cv-document .cv-summary>p{
        margin:6pt 0 0
    }

}
.guide-content h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;max-width:24ch}
.guide-content h2{margin-top:2rem}
.guide-content p,.guide-content li{line-height:1.8}
.guide-example{border-left:4px solid var(--line);padding:1rem 1.5rem;margin:1.5rem 0;background:var(--paper,#faf9f6)}
.guide-example h3,.guide-example h4{margin-top:1rem}
.guide-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem 2rem;padding-left:1.25rem}
.privacy-notice{
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
    margin-bottom:20px
}
.cookie-preferences fieldset{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:20px
}
.cookie-preferences label{
    display:block;
    margin:12px 0
}
.cookie-preferences input[type="checkbox"]{
    width:auto;
    margin-right:8px
}
.cookie-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:20px 0
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    *{
        transition:none!important
    }
}
