:root{--text:#111;--muted:#5b5b5b;--bg:#fff;--card:#fff;--border:#e6e6e6;--accent:#77b6e1;--danger:#c62828;--radius:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px}body,html{height:100%;margin:0}body{background-color:#6f7f28;z-index:-1}.course{overflow:auto;height:100vh}a{color:#77b6e1}*,::after,::before{box-sizing:border-box}.skill-tag{pointer-events:auto;background-color:#eff4ff;border:none;color:#2557d6;padding:3px 8px;font-size:12px;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-right:6px;margin-left:0;margin-bottom:6px;border-radius:12px}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:#eaf2fb;color:#2557d6;font-size:12px;line-height:1;border:1px solid #d2e4f9;cursor:pointer;pointer-events:auto}.builder-form{display:grid;gap:var(--space-5);padding:var(--space-6);background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.builder-form .field{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.builder-form .field input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:6px;font:inherit}.builder-form .field select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:6px;font:inherit;background-color:var(--card);color:var(--text);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'><path d='M5 7l5 5 5-5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.builder-form .field select:focus{outline:2px solid rgb(10 102 194 / 25%);outline-offset:2px}.builder-form .field select:disabled{background:#f8f8f8;color:var(--muted)}.builder-form .field textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:6px;font:inherit;line-height:1.4;resize:vertical}.builder-form .field .certification-content-textarea{resize:none}.builder-form .field input[disabled]{color:var(--muted);background:#f8f8f8}.builder-form .field-label{font-size:.9rem;color:var(--muted);letter-spacing:.02em}.builder-form .field-row{display:flex;gap:var(--space-4)}.builder-form .field-row .field{flex:1}.builder-form .field-row .field:last-child{align-items:flex-end}.present-indicator{color:#666}.wysiwyg{min-height:120px;padding:var(--space-4);border:1px solid var(--border);border-radius:6px;line-height:1.5}.wysiwyg:focus{outline:2px solid rgb(10 102 194 / 25%);outline-offset:2px}.section-title{margin:0 0 var(--space-3);font-size:.85rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.resume-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.experience .job-header{display:block;margin-bottom:var(--space-3)}.experience .job-title{font-size:1.1rem;font-weight:600;color:var(--text)}.experience .job-title .job-dates{float:right}.experience .job-meta{display:flex;clear:both;align-items:center;gap:var(--space-2);color:var(--muted);font-size:.95rem;white-space:nowrap}.experience .job-meta .dot{opacity:.6}.desc-list{list-style:disc;margin:0 0 var(--space-4) 1.25rem;padding:0}.desc-edit{width:100%;resize:none}.desc-list .desc-item{margin:0 0 var(--space-2);line-height:1.5}.desc-list.editable{list-style:none;margin-left:0}.desc-list.editable .desc-item:active{cursor:grabbing}.drag-handle{font-size:1.1rem;color:var(--muted);user-select:none}.rich-text p{margin:0 0 var(--space-2)}.actions{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);background:#f7f7f7;color:var(--text);border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}a.btn,a.btn:active,a.btn:hover,a.btn:link,a.btn:visited{text-decoration:none;color:var(--muted)}.alert,.alert-box{opacity:0;height:2lh;width:100%;position:fixed;top:7lh;background-color:#f3fbfb;bottom:100px;transition:all 1.5s cubic-bezier(.68, -.55, .265, 1.55);text-align:center;display:flex;align-items:center;justify-content:center;bottom:0;z-index:10;bottom:100px}.alert-box.success{background-color:#9bd8f8}.alert-box.alert-alert,.alert.alert-alert{background-color:#ffecec;border:1px solid #f2b8b5;color:var(--danger)}.alert-box.alert-info,.alert.alert-info{background-color:#f5f6f8;border:1px solid #e1e5ea;color:var(--muted)}.alert-box.alert-warning,.alert.alert-warning{background-color:#fff7e6;border:1px solid #ffe0b2;color:#8a5a00}.alert-box.alert-secondary,.alert.alert-secondary{background-color:#fafafa;border:1px solid var(--border);color:var(--muted)}.alert-box.alert-success,.alert-box.success,.alert.alert-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.btn:hover{background:#f1f1f1}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(.95)}.btn.danger{background:#fff5f5;border-color:#f2b8b5;color:var(--danger)}.btn.danger:hover{background:#ffecec}.btn.btn-link{padding:0;background:0 0;border:none;color:var(--accent)}.btn.btn-link.danger{color:var(--danger)}.btn .icon{display:inline-block;width:16px;height:16px;flex:0 0 auto}.descriptions{margin-top:var(--space-4);display:grid;gap:var(--space-3)}.form-actions{display:flex;gap:var(--space-3)}.builder-form.two-col{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:flex-start}.builder-form.two-col .form-actions{flex:1 0 100%}.builder-form.two-col .field input,.builder-form.two-col .field select,.builder-form.two-col .field textarea{padding:var(--space-2) var(--space-3);font-size:.95rem;border-radius:4px;margin:0 var(--space-1);width:calc(100% - (var(--space-1) * 2))}.builder-form.two-col .field select{background-color:var(--card);color:var(--text);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'><path d='M5 7l5 5 5-5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}@media (width <= 640px){.builder-form.two-col .field{flex-basis:100%;min-width:0;width:100%}.experience .job-header{flex-direction:column;align-items:flex-start;gap:2px}.experience .job-meta{font-size:.9rem}}.container{margin-top:5lh;max-width:1000px;padding:0 var(--space-6)}.fairway{margin:9lh auto 0;padding:0 var(--space-6);padding-bottom:5em;max-width:1000px}.fairway.builder-page{margin:9lh 10% 0;max-width:none;width:auto}.landing-page{margin-top:-2lh;background-image:url("/images/ian_finnis.webp");background-size:cover;background-position:top;background-repeat:no-repeat;min-height:50vh}.main.container.builder-page{margin:5em;clear:both;max-width:90%}footer{width:100%;position:fixed;bottom:0;left:0;padding:1em;z-index:15;align-content:center;background:linear-gradient(#6f7f28 0,#6e533f 60%)}.builder-page{display:flex;flex-direction:column;min-height:100vh}.builder-page .container{max-width:90%;width:100%;margin:0 auto;flex:1 1 auto;min-height:0;box-sizing:border-box}.testimonial-card .name{font-weight:600}.resume-preview .profile,.resume-preview .profile .email,.resume-preview .profile .name,.resume-preview .profile .title{text-align:center}.resume-preview .experience .job-title{font-weight:600}.resume-preview .experience .job-meta{color:var(--muted)}.resume-preview .experience .desc-list{list-style:disc;margin-left:1.25rem}.collapsible .collapsible-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.collapsible .collapsible-body{overflow:hidden;display:grid;grid-template-rows:1fr;transition:grid-template-rows 180ms ease}.collapsible.collapsed .collapsible-body{grid-template-rows:0fr}.input-group>*+*{margin-left:-1px}.collapsible .collapsible-body>*{min-height:0}.nowrap{white-space:nowrap}.text-center{text-align:center}.hero{padding:72px 0 48px;background:linear-gradient(180deg,#f7fbff 0,#fff 100%);border-bottom:1px solid var(--border)}.badge{display:inline-block;padding:4px 10px;background:#eaf2fb;color:#0a66c2;border:1px solid #d2e4f9;border-radius:999px;font-size:12px;letter-spacing:.02em;margin-bottom:var(--space-3)}.hero-title{font-size:clamp(32px, 4vw, 48px);line-height:1.1;margin:0 0 var(--space-3)}.hero-subtitle{color:var(--muted);font-size:1.05rem;margin:0 0 var(--space-4)}.hero-cta{margin-bottom:var(--space-4)}.hero-features{display:flex;gap:var(--space-6);color:var(--muted);list-style:none;margin:0;padding:0}.stats{padding:36px 0;border-bottom:1px solid var(--border);background:#fff}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.stat-card{background:#fafafa;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);text-align:center}.stat-value{font-size:1.6rem;font-weight:700;margin-bottom:6px}.stat-label{color:var(--muted);font-size:.95rem}.features{padding:48px 0}.section-head{text-align:center;margin-bottom:var(--space-6)}.section-head h2{margin:0 0 var(--space-2);font-size:clamp(24px, 3vw, 32px)}.section-head .section-sub h3{margin:0;font-size:1.1rem}.section-head .section-sub p{margin:4px 0 0;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.feature-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.feature-card h4{margin:0 0 6px;font-size:1.05rem}.center-cta{text-align:center;margin-top:var(--space-6)}.preview{padding:32px 0 24px;background:#fcfcfc;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.testimonials{padding:48px 0}.eyebrow{color:var(--muted);font-size:.95rem;margin-bottom:4px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.testimonial-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.testimonial-card blockquote{margin:0 0 var(--space-4);font-size:1.05rem;line-height:1.5}.testimonial-card figcaption{display:flex;align-items:center;gap:var(--space-3)}.testimonial-card .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e6f0fb;color:#0a66c2;font-weight:700}.testimonial-card .role{color:var(--muted);font-size:.95rem}.cta-section{padding:48px 0 64px;background:linear-gradient(180deg,#fff 0,#f9fbff 100%);border-top:1px solid var(--border)}.cta-copy{text-align:center;max-width:760px;margin:0 auto}.cta-actions{display:grid;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.disclaimer{color:var(--muted);font-size:.9rem;margin-top:var(--space-3)}.hint{color:var(--muted);font-size:.95rem}.btn.lg{padding:12px 18px;font-size:1.05rem}@media (width <= 1080px){.grid-4{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.testimonial-grid{grid-template-columns:1fr}.hero-features{flex-wrap:wrap;gap:var(--space-3)}.builder-page .builder-layout{grid-template-columns:1fr}.editor-panel{position:static}.input-group{display:block}.builder-form .field{flex-direction:column;align-items:stretch}.builder-form .field-row{flex-direction:column}.builder-form .field-row .field,.builder-form .field-row label.field{width:100%;min-width:0}.builder-form .field .field-label,.builder-form .field label{display:block;width:100%;margin-bottom:var(--space-2)}.builder-form .field input,.builder-form .field select,.builder-form .field textarea{width:100%;max-width:100%}.builder-form.two-col .field input,.builder-form.two-col .field select,.builder-form.two-col .field textarea{width:100%;margin:0}}.builder-page .builder-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);padding:var(--space-6) 0;align-items:start}.editor-panel{top:16px;gap:var(--space-4);align-self:start}.preview-panel{display:grid;gap:var(--space-4)}.builder-page .builder-layout>.editor-panel,.builder-page .builder-layout>.preview-panel{min-width:0}.panel-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.panel-title{font-weight:600;margin:0 0 var(--space-3);font-size:1rem}.panel-body{display:grid;gap:var(--space-3)}.panel-actions{display:flex;justify-content:flex-end}.preview-actions{display:flex;align-items:center;justify-content:space-between}.resume-preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.resume-content{width:90%;margin:0 auto}.muted{color:var(--muted)}.btn.small{padding:6px 10px;font-size:.9rem}.pre-wrap{white-space:pre-wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.panel-card .toolbar{display:flex;align-items:center;gap:8px;background:#fff;padding:6px;border-radius:10px;border:1px solid rgb(3 10 27 / 6%);box-shadow:0 2px 10px rgb(10 18 40 / 3%);margin:0 0 var(--space-3)}.loader{aspect-ratio:2;display:block;position:relative;height:20px;width:140px;animation:pgfill 1s linear infinite}.loader::before{content:"loading";font-size:.8em;position:absolute;inset:100% 75% -3px 0;background:#524656;animation:l4-0 1s linear infinite alternate}.loader::after{content:"";position:absolute;inset:auto 42.5% 0;aspect-ratio:1;border-radius:50%;border:1px solid grey;background:#fff;animation:l4-1 1s cubic-bezier(0,700,1,700) infinite alternate,l4-2 1s linear infinite alternate}.loader.top-bar{font-size:1em}.loader.top-bar::after{border:1px solid grey}@keyframes l4-0{0%,30%{transform:translate(0,-2px) rotate(20deg)}100%,70%{transform:translate(300%,-2px) rotate(-20deg)}}@keyframes l4-1{0%,2%{bottom:0}100%,98%{bottom:.1%}}@keyframes l4-2{0%{transform:translateX(-220%)}100%{transform:translateX(220%)}}@keyframes translate-background{0%{background-position-x:0}100%{background-position-x:-600px}}.panel-card .toolbar .group{display:flex;gap:6px;align-items:center;padding:2px 6px;border-right:1px solid rgb(3 10 27 / 4%)}.panel-card .toolbar .group:last-child{border-right:0}.panel-card .toolbar button{border:0;background:0 0;padding:8px 10px;border-radius:8px;cursor:pointer;font:inherit;font-size:14px}.panel-card .toolbar button:focus{outline:3px solid rgb(63 126 255 / 14%)}@media (width >= 1080px){.builder-page .container{overflow:hidden}.builder-page .builder-layout{height:100%;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.editor-panel,.preview-panel{height:100%;min-height:0;overflow-y:auto;position:static}.preview-panel{padding-right:var(--space-4)}.input-group>.btn{border-radius:0}.input-group>.btn:last-child{border-top-left-radius:6px;border-top-right-radius:6px}}header{position:fixed;display:flex;width:100%;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border);z-index:50;min-height:4lh}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;flex-wrap:nowrap}.brand-with-spinner{position:relative;display:inline-flex;align-items:center}.spinner-indicator--topbar{position:absolute;left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%);pointer-events:none}.tee-box{background-color:#9bd8f8;position:fixed;display:flex;align-items:center;justify-content:center;width:100%;top:4lh;z-index:50;min-height:3lh}.ember-power-select-trigger{position:static}.brand{font-weight:700;color:var(--text);text-decoration:none;text-transform:uppercase}.nav{display:flex;gap:var(--space-4)}.nav-link{color:var(--muted);text-decoration:none;padding:6px;padding-left:1.6em;padding-right:1.6em;margin-left:.6em;margin-right:.1em;border-radius:6px}.nav-link+.nav-link{position:relative}.nav-link+.nav-link::before{content:"";position:absolute;left:calc(-1 * var(--space-4)/ 2);top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}.bar-cart{margin-top:1lh}.nav-link:hover{color:var(--text);background:#f7f7f7}.nav .active{color:var(--text);background:#eef4fb}.user{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.user-name{font-weight:500}.submenu{background:#f5f6f8;border-bottom:1px solid #e1e5ea;width:100%}.submenu-inner{display:flex;align-items:center;gap:var(--space-4);width:100%;max-width:1000px;margin:0 auto;padding:8px var(--space-6)}.submenu-buttons{display:flex;align-items:center;gap:var(--space-3)}.submenu-buttons .btn{background:0 0;border:0;color:var(--muted);padding:6px 12px;border-radius:6px;font-weight:500}.submenu-buttons .btn:hover{background:rgb(3 10 27 / 6%);color:var(--text)}.submenu-buttons .btn.is-active,.submenu-buttons .btn[aria-current=page]{background:#e9eef5;color:var(--text)}.submenu-buttons .btn.primary{background:0 0;border:0;color:var(--accent)}.submenu-buttons .btn.primary:hover{background:rgb(10 102 194 / 10%)}.submenu-field{display:inline-block;white-space:normal;color:var(--muted);font-size:.95rem}.submenu-label{font-weight:600;margin-right:6px;color:var(--text)}.submenu-value{color:var(--muted)}.trash-drop-zone{margin-top:var(--space-3);padding:var(--space-4);border:2px dashed #f2b8b5;background:#fff5f5;color:#8a1c1c;border-radius:8px;text-align:center;font-size:.95rem}.desc-editor{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:6px;font:inherit;line-height:1.4;resize:vertical}.input-group{display:flex;align-items:stretch;width:100%}.input-group .desc-editor{flex:1;border-radius:0;min-height:40px}.summary-item .summary-header{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:baseline;margin-bottom:var(--space-2)}.summary-content{line-height:1.5}.clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.error{color:var(--danger);background:#fff5f5;border:1px solid #f2b8b5;padding:var(--space-3) var(--space-4);border-radius:6px}.skills-block{background:0 0;border:0;border-radius:6px;padding:var(--space-4);color:var(--text);font:inherit}.skills-row{display:inline-flex;align-items:baseline;flex-wrap:wrap}.skills-group-title{margin-right:.1rem}.skills-list{list-style:none;padding:0;margin:0;display:contents}.skills-row .skills-list>li:not(:last-child)::after{content:", "}.skills-list .skills-block{margin:0;padding:0;display:inline}.add-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.add-row .add-text{flex:1 1 300px;min-width:240px}.add-row .type-and-add{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 1 auto;white-space:nowrap}.add-row .type-and-add .add-type{flex:1 1 180px;min-width:140px}.add-row .type-and-add .btn{flex:0 0 auto;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.upload-zone{padding:var(--space-6);border:2px dashed var(--border);border-radius:var(--radius);background:#fafafa;text-align:center;color:var(--muted);transition:background 140ms ease,border-color 140ms ease;cursor:pointer}.upload-zone.dragging{border-color:var(--accent);background:#eef4fb}.upload-prompt .upload-title{font-size:1.05rem;font-weight:600;margin:0 0 var(--space-2);color:var(--text)}.upload-selected{display:grid;gap:var(--space-2);justify-items:center}.upload-file-name{font-weight:600;color:var(--text);word-break:break-word}.app-sticky-header{position:fixed;display:block;padding:1em;z-index:1000;background:#fff;width:100%}.sandtrap{background-color:#e0dc99;padding:2em}.companies-select-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:nowrap;width:100%}.companies-select-row .grow{flex:1 1 auto;min-width:0}.companies-fast-create{display:flex;align-items:center;gap:var(--space-3);width:100%}.inline-field{display:flex;align-items:center;gap:var(--space-3);flex:1 1 auto;min-width:0}.inline-field input{flex:1 1 auto;min-width:0}