/* Hallmark · genre: editorial · macrostructure: Split Studio · theme: Studio
 * nav: N1a · footer: Ft1 · enrichment: original patchwork artwork
 * pre-emit critique: Philosophy 4 · Hierarchy 5 · Execution 4 · Specificity 5 · Restraint 4 · Variety 4
 */
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;overflow-x:clip}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button,a,summary{touch-action:manipulation}button,nav a,footer a{white-space:nowrap}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}h1,h2,h3{font-family:var(--font-display);font-weight:400;font-style:normal;line-height:1.08;min-width:0;overflow-wrap:anywhere}p{margin:0}svg{display:block;max-width:100%}.shell{max-width:1240px;margin-inline:auto;padding-inline:var(--space-2xl)}.skip-link{position:fixed;top:var(--space-lg);left:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--color-ink);color:var(--color-surface);z-index:10;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xl);min-height:108px;border-bottom:1px solid var(--color-rule)}.brand{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;font-weight:600;font-size:var(--text-md);line-height:1.25;white-space:nowrap}.brand-mark{width:30px;height:30px;flex:none;fill:var(--color-accent)}.brand-note{display:block;font-size:.75rem;font-weight:400;color:var(--color-muted);letter-spacing:.02em;margin-top:var(--space-xs)}.nav-links{display:flex;align-items:center;gap:var(--space-2xl);font-size:var(--text-sm)}.nav-links a{display:flex;align-items:center;min-height:44px;text-decoration:none}.nav-tool{border-bottom:1px solid var(--color-accent)}.eyebrow{font-family:var(--font-body);font-size:.75rem;letter-spacing:.13em;font-weight:600;color:var(--color-accent);margin-bottom:var(--space-lg)}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--space-2xl);align-items:center;padding-block:var(--space-3xl) var(--space-4xl)}.hero h1{font-size:clamp(3rem,5.15vw,4.75rem);letter-spacing:-.025em;line-height:.99;margin:0 0 var(--space-xl)}.hero h1 span{color:var(--color-accent)}.lede{font-size:var(--text-lg);color:var(--color-muted);max-width:47ch;line-height:1.65}.hero-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3xl);margin-top:var(--space-xl);padding-block:var(--space-md);min-height:44px;border-bottom:1px solid var(--color-ink);text-decoration:none;font-size:var(--text-sm);font-weight:500}.hero-link span{font-size:1.25rem}.quilt-art{margin:0;position:relative;padding-top:var(--space-lg);align-self:center}.quilt-art svg{width:100%;height:auto;max-height:300px}.quilt-art figcaption{text-align:center;font-family:var(--font-display);font-size:var(--text-lg);margin-top:var(--space-sm);color:var(--color-muted)}.fabric-cream{fill:var(--color-cream)}.fabric-navy{fill:var(--color-ink)}.fabric-clay{fill:var(--color-fabric-clay)}.fabric-muted{fill:var(--color-fabric-muted)}.fabric-stitch{fill:none;stroke:var(--color-diagram-line);stroke-width:.7;stroke-dasharray:2 3}.quilt-shadow{fill:var(--color-rule)}.quilt-seam{fill:none;stroke:var(--color-cream);stroke-width:.8;stroke-dasharray:3 3}.art-rule{fill:none;stroke:var(--color-muted);stroke-width:1}.art-caption{fill:var(--color-muted);font-family:var(--font-body);font-size:9px;letter-spacing:1.8px}.workspace-heading{border-top:1px solid var(--color-ink);display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl)}.workspace-heading h2{font-size:2rem;margin:0}.workspace-heading p{font-size:var(--text-sm);color:var(--color-muted)}.workspace{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-3xl);align-items:start;scroll-margin-top:var(--space-xl)}.form-card{padding-right:var(--space-xl)}fieldset{min-width:0;border:0;padding:0;margin:0 0 var(--space-2xl)}legend{padding:0;margin-bottom:var(--space-xl);font-size:var(--text-lg);font-weight:500;display:flex;align-items:center;gap:var(--space-md);width:100%}.step{font-size:.75rem;font-weight:500;color:var(--color-accent);width:25px}.preset-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.preset{background:transparent;border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);min-height:56px;padding:var(--space-sm);font-size:var(--text-sm);line-height:1.4;text-align:left}.preset span{display:block;font-size:.75rem;font-weight:400}.preset[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.field-hint{font-size:var(--text-xs);line-height:1.5;color:var(--color-muted);margin-top:var(--space-sm)}.preset-row+.field-hint{margin-bottom:var(--space-lg)}.field-grid{display:grid;gap:var(--space-lg)}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field label{display:block;font-weight:500;font-size:var(--text-sm);margin-bottom:var(--space-sm)}.input-unit{position:relative}.input-unit span{position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:var(--text-sm);pointer-events:none}input,select{display:block;width:100%;min-width:0;height:48px;background:var(--color-surface);border:1px solid var(--color-input-rule);border-radius:var(--radius-input);color:var(--color-ink);padding:var(--space-md) var(--space-lg);outline-offset:2px;font-variant-numeric:tabular-nums;transition:background-color var(--dur-short) var(--ease-out)}input{padding-right:var(--space-3xl)}input::placeholder{color:var(--color-muted);font-size:var(--text-sm)}input[aria-invalid=true]{border-color:var(--color-error);background:var(--color-accent-soft)}.allowance-field{margin-top:var(--space-lg);display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:var(--space-lg)}.allowance-field label{margin-bottom:0}.settings{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}summary{cursor:pointer;min-height:48px;position:relative}.settings summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);font-size:var(--text-sm);font-weight:500;padding-block:var(--space-lg)}.settings summary:after,.assumptions summary:after,.faq summary:after{content:'+';margin-left:auto;font-family:var(--font-body);font-size:1.1rem;line-height:1}.settings[open] summary:after,.assumptions[open] summary:after,.faq details[open] summary:after{content:'−'}.settings-note{color:var(--color-muted);font-size:var(--text-xs);font-weight:400;margin-left:auto}.settings summary:after{margin-left:0}.settings .field-grid{padding-top:var(--space-sm)}.settings .field-hint{margin-block:var(--space-md) var(--space-xl)}summary::-webkit-details-marker{display:none}.finishing-fields{margin-bottom:var(--space-xl)}.calculate-button{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-input);width:100%;height:52px;padding-inline:var(--space-xl);display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:var(--text-md);transition:background-color var(--dur-short) var(--ease-out)}.calculate-button span{font-size:1.35rem}.form-note{text-align:center;color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-md)}.error{background:var(--color-accent-soft);border-left:3px solid var(--color-error);color:var(--color-error);font-size:var(--text-sm);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.results{min-width:0}.plan-sheet{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-sheet);padding:var(--space-2xl);position:relative}.plan-sheet:before{content:'';height:4px;background:var(--color-accent);position:absolute;inset:-1px -1px auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}.plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg)}.plan-heading .eyebrow{font-size:.75rem;margin-bottom:var(--space-sm)}.plan-heading h2{font-size:2rem;line-height:1.1;margin:0;letter-spacing:-.01em}.print-button{display:flex;align-items:center;gap:var(--space-sm);border:1px solid var(--color-rule);background:transparent;color:var(--color-muted);border-radius:var(--radius-sm);font-size:var(--text-xs);min-height:44px;padding:var(--space-sm) var(--space-md)}.print-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.plan-status{font-size:.75rem;color:var(--color-muted);margin-top:var(--space-md);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}.plan-status[data-stale=true]{color:var(--color-accent)}.plan-values{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-xl);padding-block:var(--space-2xl)}.metric-label{font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-sm)}.backing-metric strong{display:flex;align-items:baseline;gap:var(--space-sm);font-family:var(--font-display);font-size:clamp(3.8rem,5vw,5rem);font-weight:400;letter-spacing:-.02em;line-height:1.02;font-variant-numeric:lining-nums tabular-nums}.backing-metric .value-unit{font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;letter-spacing:0}.metric-detail{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-sm)}.metric-note{font-size:.75rem;line-height:1.55;color:var(--color-muted);max-width:24ch;margin-top:var(--space-lg)}.supporting-values{border-left:1px solid var(--color-rule);padding-left:var(--space-xl);display:grid;gap:var(--space-xl)}.supporting-values .metric-label{font-size:var(--text-xs);margin-bottom:var(--space-xs)}.supporting-values strong{font-family:var(--font-display);font-size:1.875rem;font-weight:400;line-height:1.15;display:block;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}.supporting-values .metric-detail{font-size:.75rem}.cut-heading{border-top:1px solid var(--color-rule);padding-top:var(--space-xl)}.cut-heading h3{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;margin:0 0 var(--space-xs)}.cut-heading p{font-size:var(--text-xs);color:var(--color-muted)}.cut-plan{margin-block:var(--space-lg);padding:var(--space-md);background:var(--color-paper);border-radius:var(--radius-sm);min-height:180px;display:grid;place-items:center}.cut-plan svg{width:100%;height:180px;overflow:visible}.cut-plan .panel{fill:var(--color-cream);stroke:var(--color-diagram-line);stroke-width:1}.cut-plan .seam-line{fill:none;stroke:var(--color-diagram-line);stroke-width:1;stroke-dasharray:3 4}.cut-plan .cut-label{fill:var(--color-ink);font-family:var(--font-body);font-size:16px}.cut-plan .panel-label{fill:var(--color-ink);font-family:var(--font-display);font-size:24px}.cut-plan .cut-measure{fill:none;stroke:var(--color-diagram-line);stroke-width:1}.cost-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);border-top:1px solid var(--color-rule);padding-top:var(--space-lg);font-size:var(--text-xs);color:var(--color-muted)}.cost-row strong{font-size:var(--text-sm);font-weight:500;color:var(--color-ink);text-align:right}.plan-footnote{font-size:.75rem;color:var(--color-muted);line-height:1.65;margin-top:var(--space-lg)}.assumptions{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-sm)}.assumptions summary{display:flex;align-items:center;gap:var(--space-lg);color:var(--color-ink);font-weight:500;padding-block:var(--space-md)}.assumptions ul{padding-left:var(--space-xl);margin:0}.assumptions li{margin-block:var(--space-sm)}.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-3xl);margin-block:var(--space-5xl) var(--space-4xl);padding-top:var(--space-3xl);border-top:1px solid var(--color-rule)}.faq h2{font-size:2.5rem;line-height:1.05;margin:0 0 var(--space-lg)}.faq-intro>p:last-child{font-size:var(--text-sm);color:var(--color-muted);max-width:30ch}.faq-list details{border-bottom:1px solid var(--color-rule)}.faq-list details:first-child{border-top:1px solid var(--color-rule)}.faq summary{font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-xl);padding-block:var(--space-xl)}.faq-list p{font-size:var(--text-sm);color:var(--color-muted);padding-bottom:var(--space-xl);max-width:60ch}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);border-top:1px solid var(--color-ink);padding-block:var(--space-2xl) var(--space-3xl)}.footer-brand{font-family:var(--font-display);font-size:1.5rem;line-height:1.3}.footer-brand>span{display:block;font-family:var(--font-body);font-size:.75rem;color:var(--color-muted);margin-top:var(--space-sm)}.footer-links{display:flex;gap:var(--space-xl);font-size:var(--text-xs)}.footer-links a{min-height:44px;display:flex;align-items:center;text-decoration:none}.info-card{max-width:760px;min-height:55vh;margin-block:var(--space-4xl);padding:0}.info-card h1{font-size:clamp(2.6rem,6vw,4.3rem);margin:0 0 var(--space-2xl);letter-spacing:-.02em}.info-card h2{font-size:1.75rem;margin:var(--space-2xl) 0 var(--space-lg)}.info-card p{margin-bottom:var(--space-lg);color:var(--color-muted);max-width:65ch}.text-link{color:var(--color-accent)}body:has(.info-card) footer{border-top:1px solid var(--color-rule);padding-block:var(--space-2xl);font-size:var(--text-xs);color:var(--color-muted);margin:0}body:has(.info-card) .brand{font-size:var(--text-lg)}
@media(hover:hover){.nav-links a:hover,.footer-links a:hover,.text-link:hover{color:var(--color-accent)}.preset:hover:not([aria-pressed=true]),input:hover,select:hover,.print-button:hover{background:var(--color-paper-2)}.calculate-button:hover{background:var(--color-muted)}.hero-link:hover{color:var(--color-accent);border-color:var(--color-accent)}}
@media(max-width:1050px){.shell{padding-inline:var(--space-xl)}.workspace{gap:var(--space-2xl);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.form-card{padding-right:0}.plan-sheet{padding:var(--space-xl)}.plan-heading h2{font-size:1.75rem}.print-button span{display:none}.supporting-values{padding-left:var(--space-lg)}.plan-values{gap:var(--space-lg)}.faq{gap:var(--space-2xl)}}
@media(max-width:800px){.nav-links{gap:var(--space-xl)}.nav-tool{display:none!important}.hero{padding-block:var(--space-3xl);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-lg)}.hero h1{font-size:3.5rem}.hero .eyebrow{font-size:.75rem}.lede{font-size:var(--text-md)}.workspace{grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}.form-card{max-width:none}.plan-sheet{padding:var(--space-2xl)}.form-card fieldset{margin-bottom:var(--space-xl)}.plan-heading h2{font-size:2rem}.print-button span{display:block}.workspace-heading{align-items:flex-start;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-xl)}.plan-values{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.faq{grid-template-columns:minmax(0,1fr);gap:var(--space-xl);margin-top:var(--space-4xl)}.faq h2 br{display:none}.faq-intro>p:last-child{max-width:none}.site-footer{align-items:flex-start;flex-direction:column;gap:var(--space-lg)}}
@media(max-width:560px){.shell{padding-inline:var(--space-lg)}.site-nav{min-height:88px;gap:var(--space-lg)}.brand{font-size:var(--text-sm);gap:var(--space-sm)}.brand-mark{width:24px;height:24px}.brand-note{font-size:.6875rem}.nav-links{gap:var(--space-md);font-size:var(--text-xs)}.nav-links a[href='about.html']{display:none}.hero{grid-template-columns:minmax(0,1fr);padding-block:var(--space-2xl);gap:var(--space-md);position:relative}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.75rem,11vw,3.9rem);margin-bottom:var(--space-lg)}.hero h1 span{white-space:nowrap}.hero .eyebrow{font-size:.6875rem;letter-spacing:.11em}.lede{max-width:34ch;font-size:.9375rem}.hero-link{margin-top:var(--space-lg)}.quilt-art{display:none}.workspace-heading h2{font-size:1.75rem}.workspace-heading p{font-size:var(--text-xs)}.preset{padding:var(--space-sm) var(--space-md)}legend{font-size:var(--text-md);margin-bottom:var(--space-lg)}.plan-sheet{padding:var(--space-xl) var(--space-lg)}.plan-heading h2{font-size:1.65rem}.plan-heading{gap:var(--space-sm)}.print-button{padding-inline:var(--space-sm)}.print-button span{display:none}.print-button svg{width:19px;height:19px}.plan-values{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:var(--space-xl)}.backing-metric strong{font-size:3.8rem}.supporting-values strong{font-size:1.55rem;white-space:normal}.metric-label{font-size:var(--text-xs)}.supporting-values{gap:var(--space-lg);padding-left:var(--space-lg)}.metric-detail{font-size:.75rem}.backing-metric .value-unit{font-size:var(--text-sm)}.metric-note{max-width:22ch;font-size:.75rem}.plan-status{font-size:.75rem}.cost-row{font-size:.75rem;gap:var(--space-md)}.cost-row strong{font-size:var(--text-xs)}.faq{margin-block:var(--space-3xl);padding-top:var(--space-2xl)}.faq h2{font-size:2rem}.faq summary{padding-block:var(--space-lg)}.site-footer{padding-block:var(--space-xl) var(--space-2xl)}.footer-brand{font-size:1.375rem}.footer-links{gap:var(--space-xl)}.info-card{margin-block:var(--space-2xl)}body:has(.info-card) .brand{font-size:var(--text-sm)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{@page{margin:15mm}html,body{background:var(--color-surface);overflow:visible}.shell{max-width:none;padding:0}.site-nav,.hero,.workspace-heading,.form-card,.faq,.site-footer,.assumptions,.print-button,.skip-link{display:none!important}.workspace{display:block}.plan-sheet{border:1px solid var(--color-rule);padding:var(--space-xl);break-inside:avoid}.plan-heading h2{font-size:2rem}.plan-status{font-size:var(--text-sm)}.results{width:100%}.plan-values{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cut-plan{print-color-adjust:exact;-webkit-print-color-adjust:exact}.plan-footnote{font-size:var(--text-xs)}.cost-row{font-size:var(--text-sm)}}
