*{box-sizing:border-box}body.studio-page{margin:0;background:#f0f2ee;color:#202923;font-family:'DM Sans',sans-serif;overflow-x:hidden}.brand{display:inline-flex;align-items:center;gap:9px;font:800 19px Manrope,sans-serif;letter-spacing:-1px;line-height:1;text-decoration:none;color:inherit}.brand-icon{width:32px;height:32px;display:grid;place-items:center;background:#315c4c;color:white;border-radius:9px}.brand-accent{color:#315c4c}.brand small{display:block;font:700 7px 'DM Sans',sans-serif;letter-spacing:2px;color:#88918b;margin-top:5px}.studio-topbar{height:70px;background:white;border-bottom:1px solid #e2e6df;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:18px;position:sticky;top:0;z-index:10}.studio-breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#879088}.studio-breadcrumb a{text-decoration:none;color:inherit}.studio-breadcrumb strong{color:#26332a}.studio-breadcrumb>i{font-size:9px}.saved-status{margin-left:17px;padding-left:17px;border-left:1px solid #e5e8e1;color:#63846b}.saved-status i{margin-right:4px}.top-actions{display:flex;gap:12px;align-items:center}.icon-button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#6c776f;font-size:11px;cursor:pointer}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:11px 15px;font:700 11px 'DM Sans',sans-serif;cursor:pointer}.button-primary{background:#315c4c;color:#fff}.studio-layout{display:grid;grid-template-columns:365px minmax(0,1fr);min-height:calc(100vh - 70px)}.editor-sidebar{background:#fff;border-right:1px solid #e1e5de;min-width:0}.sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:24px 23px 18px}.section-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#315c4c}.sidebar-title h1{font:800 22px Manrope,sans-serif;letter-spacing:-.8px;margin:7px 0 5px}.sidebar-title p{font-size:11px;color:#818a83;margin:0}.progress-ring{width:43px;height:43px;border:3px solid #e0e9de;border-radius:50%;display:grid;place-items:center;color:#315c4c;font-size:10px;font-weight:800}.editor-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 22px;border-bottom:1px solid #e9ece7;gap:20px}.editor-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:14px 4px;font:700 11px 'DM Sans',sans-serif;color:#7e8980;cursor:pointer}.editor-tabs button i{margin-right:7px}.editor-tabs button.active{color:#315c4c;border-color:#315c4c}.tab-pane{display:none}.tab-pane.active{display:block}.editor-section{border-bottom:1px solid #eef0eb}.editor-section>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:17px 23px;cursor:pointer}.editor-section>summary::-webkit-details-marker{display:none}.section-icon{width:34px;height:34px;border-radius:9px;background:#eff4ee;display:grid;place-items:center;color:#315c4c;font-size:15px;flex-shrink:0}.editor-section summary span:nth-child(2){flex:1}.editor-section summary b,.editor-section summary small{display:block}.editor-section summary b{font-size:11px}.editor-section summary small{font-size:9px;color:#929a93;margin-top:4px}.editor-section .chevron{font-size:10px;color:#929a93;transition:.2s}.editor-section[open] .chevron{transform:rotate(180deg)}.section-fields,.field-grid{padding:0 23px 20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label,.section-fields>label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#4c5850}.field-grid .wide-field{grid-column:1/-1}.field-grid input,.section-fields input:not([type=checkbox]):not([type=file]),.section-fields textarea{width:100%;border:1px solid #e1e6de;border-radius:7px;background:#fcfcfa;padding:10px 11px;font:400 11px 'DM Sans',sans-serif;color:#29362d;outline:none;min-width:0}.field-grid input:focus,.section-fields input:focus,.section-fields textarea:focus{border-color:#8da995;box-shadow:0 0 0 3px #315c4c12}.field-grid input[type=file]{font-size:9px;padding:8px}.section-fields textarea{resize:vertical;line-height:1.6}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input,.visibility-list input{accent-color:#315c4c}.section-fields>label{margin-bottom:12px}.field-hint{font-size:9px;color:#909990;margin-top:7px;line-height:1.5}.suggestion-btn{background:#eff4ee;border:0;border-radius:6px;color:#315c4c;font:700 10px 'DM Sans',sans-serif;padding:9px 11px;margin-top:12px;cursor:pointer}.add-entry{display:block;width:100%;border:1px dashed #c8d4c7;background:#f8faf7;border-radius:7px;padding:11px;color:#315c4c;font:700 10px 'DM Sans',sans-serif;cursor:pointer;margin-top:9px}.entry-card{background:#f8f9f6;border:1px solid #e8ebe5;border-radius:8px;padding:12px;margin-bottom:10px}.entry-card-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;margin-bottom:10px}.entry-card-head button{border:0;background:none;color:#a34f3e;cursor:pointer}.entry-card .entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.entry-card input,.entry-card textarea{min-width:0;width:100%;border:1px solid #e1e6de;border-radius:6px;padding:8px;font:10px 'DM Sans',sans-serif;background:white}.entry-card textarea{grid-column:1/-1;resize:vertical}.design-intro{padding:24px 23px 15px}.design-intro h2{font:800 21px Manrope,sans-serif;letter-spacing:-.7px;margin:8px 0}.design-intro p{font-size:10px;line-height:1.7;color:#7e887f;margin:0}.design-group{padding:18px 23px;border-bottom:1px solid #edf0eb}.design-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.design-label-row label,.control-label{font-size:11px;font-weight:800;color:#3a473e}.design-label-row>span,.design-label-row output{font-size:10px;color:#7b897e}.layout-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.layout-option{border:1px solid #e3e7df;background:#fff;border-radius:8px;padding:8px 5px;cursor:pointer;color:#59665d}.layout-option.selected{border-color:#315c4c;box-shadow:0 0 0 2px #315c4c13;color:#315c4c}.layout-option b{display:block;font-size:9px;margin-top:7px}.layout-thumb{height:65px;background:#f0f2ee;border:1px solid #e1e5de;display:flex;gap:4px;padding:5px;align-items:flex-start}.layout-thumb i{display:block;height:4px;background:#b4c5b3;border-radius:2px;flex:1;margin-top:5px}.thumb-modern{background:linear-gradient(90deg,#315c4c 32%,#f7f7f4 32%)}.thumb-editorial{display:block;background:#f9f5ef}.thumb-editorial i:first-child{width:80%;height:9px;background:#bd8b75}.thumb-classic{display:block;background:#fff;border-top:5px solid #626e91}.thumb-creative{display:block;background:linear-gradient(#315c4c 0 45%,#fff 45%)}.thumb-creative i{background:#d6e0d1}.color-swatches{display:flex;align-items:center;gap:11px;margin-top:14px;flex-wrap:wrap}.color-swatches button{width:26px;height:26px;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #dfe4dc;border-radius:50%;cursor:pointer}.color-swatches button.selected{box-shadow:0 0 0 2px var(--swatch)}.custom-color{width:28px;height:28px;display:grid;place-items:center;border:1px solid #e0e5dd;border-radius:50%;color:#6e7d70;position:relative;cursor:pointer}.custom-color input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.control-label{display:block;margin-bottom:12px}.design-group select{width:100%;padding:10px;border:1px solid #e1e6de;border-radius:7px;background:#fcfcfa;font:11px 'DM Sans',sans-serif;color:#354238}.design-group input[type=range]{width:100%;accent-color:#315c4c;margin-top:15px}.design-note{margin:18px 23px 25px;padding:13px;display:flex;gap:10px;background:#f1f5ed;border-radius:8px;color:#315c4c}.design-note>i{font-size:16px}.design-note p{font-size:9px;line-height:1.7;color:#657466;margin:0}.design-note b{color:#315c4c}.visibility-list{display:grid;gap:12px;margin-top:16px}.visibility-list label{font-size:10px;color:#5e6b60;display:flex;align-items:center;gap:8px}.preview-workspace{min-width:0;display:flex;flex-direction:column;background:#f0f2ee}.preview-toolbar{min-height:65px;display:flex;align-items:center;justify-content:space-between;padding:10px 25px;border-bottom:1px solid #e1e5de;background:#f8f9f6;gap:15px}.preview-heading{display:flex;align-items:center;gap:10px}.live-dot{width:7px;height:7px;background:#70a27a;border-radius:50%;box-shadow:0 0 0 4px #70a27a1a}.preview-heading b,.preview-heading small{display:block}.preview-heading b{font-size:11px}.preview-heading small{font-size:9px;color:#8b958d;margin-top:4px}.preview-actions{display:flex;align-items:center;gap:10px;font-size:10px;color:#778278}.page-size{font-size:8px;letter-spacing:.8px;color:#98a098;margin-right:7px}.zoom-btn{width:26px;height:26px;border:1px solid #e0e5dd;background:white;border-radius:6px;color:#536257;font-size:15px;cursor:pointer}.preview-export{border:0;background:#315c4c;color:white;padding:9px 11px;border-radius:7px;font:700 10px 'DM Sans',sans-serif;margin-left:8px;cursor:pointer}.canvas-wrap{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:36px 25px 50px}.resume-paper{--resume-accent:#315c4c;--resume-font:'DM Sans',sans-serif;--resume-size:10pt;--resume-spacing:12px;position:relative;width:794px;min-height:1123px;background:white;box-shadow:0 8px 30px #203c2c12;display:grid;grid-template-columns:29% 71%;flex-shrink:0;color:#29352d;font-family:var(--resume-font);font-size:var(--resume-size);line-height:1.45}.resume-paper.template-editorial{display:block;padding:0 0 35px}.template-editorial .resume-sidebar,.template-classic .resume-sidebar{display:none}.resume-paper.template-editorial .resume-main{padding:45px 55px}.resume-paper.template-editorial .resume-header{border-bottom:1px solid #d7d7ce;padding-bottom:25px;margin-bottom:25px}.resume-paper.template-editorial .resume-header h1{font:600 37pt 'Playfair Display',Georgia,serif;letter-spacing:-1px}.resume-paper.template-classic{display:block;padding:42px 48px}.resume-paper.template-classic .resume-header{text-align:center;border-top:5px solid var(--resume-accent);padding:24px 0 22px;border-bottom:1px solid #d8ddd6}.resume-paper.template-classic .resume-header h1{font:700 27pt Georgia,serif}.resume-paper.template-classic .resume-main{padding:0}.resume-paper.template-creative{grid-template-columns:35% 65%}.resume-paper.template-creative .resume-sidebar{background:#edf1e8;color:#29352d}.resume-paper.template-creative .resume-sidebar .resume-block h3{color:var(--resume-accent);border-color:#cbd6c8}.resume-paper.template-creative .resume-photo{background:var(--resume-accent);color:white;border-radius:8px}.resume-sidebar{background:var(--resume-accent);color:white;padding:35px 25px;min-width:0}.resume-photo{width:70px;height:70px;border-radius:50%;background:#ffffff25;display:none;place-items:center;font-size:22pt;font-weight:800;margin-bottom:27px;overflow:hidden}.resume-photo.visible{display:grid}.resume-photo img{width:100%;height:100%;object-fit:cover}.resume-sidebar .resume-block{margin-bottom:var(--resume-spacing)}.resume-sidebar .resume-block h3{font-size:8pt;letter-spacing:1.3px;color:#e0eadf;border-bottom:1px solid #ffffff45;padding-bottom:7px;margin:0 0 10px}.resume-sidebar .resume-block p,.resume-sidebar .resume-block div{font-size:calc(var(--resume-size) - 1.5pt);overflow-wrap:anywhere}.resume-sidebar .resume-block a{color:inherit}.resume-main{padding:42px 38px 40px;min-width:0}.resume-header{margin-bottom:26px}.resume-kicker{font-size:8pt;font-weight:800;letter-spacing:1.5px;color:var(--resume-accent);margin-bottom:10px}.resume-header h1{font:800 28pt Manrope,sans-serif;letter-spacing:-1.4px;line-height:1.05;margin:0 0 9px;overflow-wrap:anywhere}.resume-header h1 span{color:var(--resume-accent)}.resume-header>p{font-size:9pt;color:#778179;margin:0;overflow-wrap:anywhere}.resume-main .resume-block{margin-bottom:var(--resume-spacing)}.resume-main .resume-block h2{font-size:9pt;letter-spacing:1.1px;color:var(--resume-accent);margin:0 0 11px;padding-bottom:6px;border-bottom:1px solid #e1e6df}.resume-main .resume-block>p{margin:0 0 8px;line-height:1.65;font-size:var(--resume-size);overflow-wrap:anywhere;white-space:pre-line}.resume-entry{margin:0 0 15px;break-inside:avoid}.resume-entry-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.resume-entry h3{font-size:calc(var(--resume-size) + .3pt);font-weight:800;margin:0 0 3px;overflow-wrap:anywhere}.resume-entry .entry-meta{font-size:calc(var(--resume-size) - 1pt);color:#748078;margin-bottom:5px}.resume-entry .entry-date{font-size:calc(var(--resume-size) - 1.5pt);color:#7d897f;white-space:nowrap}.resume-entry p{font-size:var(--resume-size);line-height:1.6;margin:5px 0 0;white-space:pre-line;overflow-wrap:anywhere}.skill-pills{display:flex;flex-wrap:wrap;gap:6px}.skill-pill{font-size:calc(var(--resume-size) - 2pt);background:#ffffff1e;border:1px solid #ffffff35;border-radius:3px;padding:4px 6px;line-height:1.2}.template-creative .skill-pill,.template-editorial .skill-pill,.template-classic .skill-pill{background:#eef2eb;border-color:#dce4d9;color:#39473c}.contact-item{margin-bottom:8px;overflow-wrap:anywhere}.contact-item small{display:block;color:#d0dfd0;font-size:calc(var(--resume-size) - 2pt);margin-bottom:2px}.template-creative .contact-item small,.template-editorial .contact-item small,.template-classic .contact-item small{color:#778179}.resume-sidebar .resume-block .contact-item{font-size:calc(var(--resume-size) - 1.5pt)}.resume-paper.template-editorial .resume-main .resume-block h2{font-family:'Playfair Display',Georgia,serif;font-size:13pt;letter-spacing:0;border:0}.resume-paper.template-classic .resume-main .resume-block h2{text-align:center}.preview-footer{display:flex;justify-content:space-between;gap:15px;padding:14px 24px;border-top:1px solid #e1e5de;background:#f8f9f6;color:#879188;font-size:9px}.preview-footer i{color:#60886b;margin-right:5px}.toast-message{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#203f34;color:white;border-radius:9px;padding:12px 18px;font-size:12px;box-shadow:0 12px 30px #0002;transition:.2s;z-index:30}.toast-message.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1100px){.studio-layout{grid-template-columns:330px minmax(0,1fr)}.studio-topbar{padding:0 16px}.studio-breadcrumb{display:none}.preview-toolbar{padding:10px 15px}.canvas-wrap{padding:30px 15px}}@media(max-width:760px){.studio-topbar{height:62px;padding:0 12px}.studio-topbar .brand{font-size:17px}.studio-topbar .brand-icon{width:29px;height:29px}.top-actions{gap:7px}.icon-button span{display:none}.top-actions .button{padding:10px;font-size:10px}.studio-layout{display:flex;flex-direction:column;min-height:calc(100vh - 62px)}.editor-sidebar{order:2;border-right:0;border-top:1px solid #dfe4dc}.preview-workspace{order:1;min-height:650px}.sidebar-title{padding:18px}.editor-tabs{padding:0 18px}.editor-section>summary{padding:15px 18px}.section-fields,.field-grid{padding:0 18px 18px}.design-group,.design-intro{padding-left:18px;padding-right:18px}.design-note{margin-left:18px;margin-right:18px}.preview-toolbar{min-height:58px;padding:8px 12px}.page-size{display:none}.preview-actions{gap:6px}.preview-export{padding:8px}.canvas-wrap{min-height:590px;padding:20px 0 40px;justify-content:flex-start}.resume-paper{transform-origin:top left;margin-left:calc((100vw - 794px * .47)/2);margin-right:0}.preview-footer{padding:12px;font-size:8px}}@media print{body.studio-page{background:#fff}.studio-topbar,.editor-sidebar,.preview-toolbar,.preview-footer,.toast-message{display:none!important}.studio-layout{display:block}.preview-workspace{display:block;background:white}.canvas-wrap{padding:0;display:block;overflow:visible}.resume-paper{transform:none!important;box-shadow:none;width:210mm;min-height:297mm;page-break-after:auto;break-after:auto}@page{size:A4;margin:0}}
/* PDF export normalization: never force a trailing blank page. */
#resumeExportClone{page-break-after:auto!important;break-after:auto!important;transform:none!important;zoom:1!important}
#resumeExportClone .resume-entry,#resumeExportClone .resume-block{break-inside:avoid;page-break-inside:avoid}

/* Responsive studio hardening for narrow phones, tablets and landscape screens */
html,body{max-width:100%;overflow-x:clip}.studio-topbar{min-width:0}.studio-topbar>*{min-width:0}.studio-breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex-shrink:0}.preview-workspace,.editor-sidebar,.studio-layout{min-width:0;max-width:100%}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-fields input,.section-fields select,.section-fields textarea{max-width:100%;min-width:0}
@media(max-width:760px){.studio-breadcrumb{display:none}.studio-topbar{gap:8px}.studio-topbar>.brand{flex:1;min-width:0}.top-actions{max-width:60%;justify-content:flex-end}.top-actions .button{white-space:nowrap}.preview-workspace{min-width:0;width:100%;overflow:hidden}.canvas-wrap{width:100%;overflow:auto hidden;overscroll-behavior-x:contain;justify-content:flex-start;padding:18px 0 32px}.resume-paper{transform-origin:top left!important;margin-left:max(8px,calc((100vw - 794px * .46)/2));margin-right:0;flex-shrink:0}.preview-toolbar{gap:8px;flex-wrap:wrap}.preview-toolbar>*{min-width:0}.preview-actions{flex-wrap:wrap}.editor-sidebar{width:100%;max-width:100%;overflow:hidden}.editor-tabs{overflow-x:auto;white-space:nowrap}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid>*{min-width:0}.preview-footer{display:flex;gap:8px;flex-wrap:wrap}}
@media(max-width:420px){.studio-topbar{padding:0 8px}.studio-topbar .brand{font-size:15px;gap:6px;letter-spacing:-.5px}.studio-topbar .brand-icon{width:27px;height:27px;border-radius:8px}.top-actions{gap:4px;max-width:none}.top-actions .button{padding:8px 7px;font-size:10px}.top-actions .icon-button{width:34px;min-width:34px;height:34px}.preview-toolbar{padding:8px}.preview-actions .button{padding:8px 9px;font-size:10px}.canvas-wrap{min-height:470px}.resume-paper{margin-left:max(8px,calc((100vw - 794px * .42)/2))}.field-grid{grid-template-columns:1fr}.editor-tabs button{padding:10px 12px;font-size:11px}.sidebar-title h2{font-size:18px}}
@media(max-width:340px){.top-actions .button .button-label{display:none}.top-actions .button{padding:8px}.studio-topbar .brand small{letter-spacing:1px;font-size:7px}}
@media(max-width:420px){.resume-paper{transform:scale(.42)!important;margin-left:max(8px,calc((100vw - 794px * .42)/2))!important}}
@media(min-width:421px) and (max-width:520px){.resume-paper{transform:scale(.47)!important;margin-left:max(8px,calc((100vw - 794px * .47)/2))!important}}

/* Mobile-first studio flow: keep the resume form before the live preview. */
@media (max-width: 760px) {
  .studio-layout { display: flex; flex-direction: column; }
  .studio-layout > .editor-sidebar { order: 1 !important; }
  .studio-layout > .preview-workspace { order: 2 !important; }
  .editor-sidebar { border-top: 0; border-bottom: 1px solid #dfe4dc; }
  .preview-workspace { min-height: 0; }
  .canvas-wrap { min-height: 470px; }
}

/* Resume header hierarchy: name first, professional headline underneath. */
.resume-header h1{margin-bottom:7px}.resume-kicker{margin-bottom:10px}
