:root{--gold:#a67818;--navy:#102a4d;--cream:#f8f1df;--ink:#24303c;--red:#8b2e26}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1ea;color:var(--ink);font-family:Georgia,'Times New Roman',serif}.site-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:rgba(255,255,255,.96);border-bottom:1px solid #d6c7a4}.brand{letter-spacing:.28em;color:var(--gold);font-weight:700}.brand sup{font-size:.45em}.site-header nav{display:flex;gap:24px}.site-header a{color:var(--navy);text-decoration:none}.hero{padding:80px 8vw 70px;background:linear-gradient(135deg,#fff 0%,#f5edda 100%);text-align:center}.hero h1{font-size:clamp(2.3rem,6vw,5.4rem);line-height:1.02;color:var(--navy);max-width:1000px;margin:15px auto}.hero p{max-width:760px;margin:0 auto 28px;font-size:1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.85rem!important}.button{display:inline-block;background:var(--navy);color:white;border:0;padding:14px 22px;text-decoration:none;cursor:pointer;font:inherit}.builder-shell{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:28px;padding:32px;align-items:start}.panel{background:white;border:1px solid #ddd3bd;padding:22px;position:sticky;top:82px}.form-panel h2{margin-top:0;color:var(--navy)}label{display:block;font-weight:700;margin:14px 0}input,textarea{width:100%;margin-top:7px;padding:10px;border:1px solid #cdbf9d;font:inherit}textarea{min-height:110px;resize:vertical}.preview-wrap{overflow:auto;padding-bottom:20px}.certificate{width:1050px;min-height:1350px;margin:0 auto;background:var(--cream);border:10px double var(--gold);display:grid;grid-template-columns:31% 39% 30%;grid-template-rows:48% 36% 16%;box-shadow:0 18px 45px rgba(31,29,23,.2);position:relative}.certificate:before{content:"";position:absolute;inset:8px;border:1px solid rgba(166,120,24,.65);pointer-events:none}.certificate>div{padding:22px;border:1px solid rgba(166,120,24,.45)}.top-left{grid-column:1/2;grid-row:1}.top-right{grid-column:2/4;grid-row:1}.bottom-left{grid-column:1;grid-row:2}.bottom-center{grid-column:2;grid-row:2}.bottom-right{grid-column:3;grid-row:2}.signatures{grid-column:1/4;grid-row:3}.photo-panel{position:relative;padding:0!important;overflow:hidden}.photo-panel img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-panel blockquote{position:absolute;left:22px;bottom:28px;width:55%;margin:0;color:white;font-style:italic;font-size:1.45rem;line-height:1.25;text-shadow:0 2px 6px rgba(0,0,0,.8)}.photo-panel blockquote span{display:block;margin-top:8px}.tribute-panel{text-align:center;padding:26px 38px!important}.certificate-brand{font-size:1.6rem;margin-bottom:15px}.small-caps{text-transform:none;font-size:1.15rem;font-style:italic}.tribute-panel h2{font-size:4.7rem;line-height:.86;margin:10px 0;color:var(--navy);font-weight:500;text-transform:uppercase}.tribute-panel h3{font-size:1.55rem;margin:8px 0 18px;color:var(--red);text-transform:uppercase}.ornament{width:90px;border-top:2px solid var(--gold);margin:14px auto 20px}.ornament.small{width:55px;margin:10px auto 14px}.tribute-panel p{font-size:1.1rem;line-height:1.45}.tribute-emphasis{font-style:italic}.closing-label{color:var(--red);font-size:1.15rem!important}.script{font-family:'Brush Script MT','Segoe Script',cursive;color:var(--red);font-size:3.3rem!important;margin:8px 0}.poem-panel,.values-panel{text-align:center}.poem-panel h3,.crest-panel h3,.values-panel h3,.signatures h3{text-transform:uppercase;color:var(--navy);letter-spacing:.04em;margin:0 0 12px}.poem-panel p{white-space:normal;line-height:1.35;font-size:1.02rem}.crest-panel{text-align:center}.crest{width:260px;height:230px;margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border:6px solid var(--gold);border-radius:42% 42% 50% 50%;overflow:hidden;position:relative;background:#f2e7c9}.crest-cell{display:flex;align-items:center;justify-content:center;border:1px solid rgba(166,120,24,.7);font-size:3rem}.photo-mini img{width:100%;height:100%;object-fit:cover}.crest-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#f8f1df;border:5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:2.2rem}.ribbon{background:var(--gold);color:#211a0c;font-weight:700;letter-spacing:.06em;padding:8px 18px;margin:-4px auto 12px;width:max-content;max-width:95%;border-radius:3px}.crest-note{font-size:.86rem}.value{margin:17px 0}.value strong{display:block;color:var(--red);font-size:1.2rem;text-transform:uppercase}.value span{display:block;margin-top:4px;line-height:1.25}.signatures{text-align:center;padding:14px 28px!important}.signature-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:16px 20px;margin:16px 0 8px}.signature-grid span{display:block;border-bottom:1px solid #8d8d84;height:24px}.final{color:var(--navy)!important;font-size:3.8rem!important;margin:0}
@media(max-width:1000px){.builder-shell{grid-template-columns:1fr}.panel{position:static}.preview-wrap{padding:0}.certificate{transform-origin:top left}}

.nav-button{border:0;background:transparent;color:var(--navy);font:inherit;cursor:pointer;padding:0}.step-heading p{margin:0;color:var(--gold);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.step-heading h2{margin:6px 0 18px}.form-step{display:none;border:0;padding:0;margin:0}.form-step.active{display:block}.field-note{font-size:.86rem;line-height:1.4;color:#6e6656;margin-top:-5px}.value-inputs textarea{min-height:76px}.form-actions{display:flex;gap:10px;margin-top:18px}.form-actions .button{flex:1}.button.secondary{background:#ded6c4;color:var(--navy)}.button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.text-button{width:100%;margin-top:12px;border:0;background:none;color:#756a55;text-decoration:underline;cursor:pointer}.preview-toolbar{display:flex;justify-content:space-between;gap:18px;margin:0 auto 12px;width:1050px;color:#6d624f;font-size:.9rem}.preview-toolbar strong{color:var(--navy)}.line-break{display:inline-block;height:.65em}

@page{size:letter portrait;margin:.2in}
@media print{
  body{background:white}.site-header,.hero,.form-panel,.preview-toolbar,.commission,.site-footer{display:none!important}.builder-shell{display:block;padding:0}.preview-wrap{overflow:visible;padding:0}.certificate{width:8.1in;min-height:10.45in;height:10.45in;margin:0;box-shadow:none;border-width:7px;grid-template-rows:48% 36% 16%;print-color-adjust:exact;-webkit-print-color-adjust:exact}.certificate>div,.certificate>section,.certificate>footer{padding:14px}.photo-panel blockquote{font-size:.95rem;left:14px;bottom:18px}.tribute-panel{padding:16px 24px!important}.certificate-brand{font-size:1.2rem}.tribute-panel h2{font-size:3rem}.tribute-panel h3{font-size:1rem}.tribute-panel p{font-size:.75rem}.script{font-size:2.2rem!important}.poem-panel p{font-size:.68rem}.poem-panel h3,.crest-panel h3,.values-panel h3,.signatures h3{font-size:.75rem}.crest{width:175px;height:155px;border-width:4px}.crest-center{width:48px;height:48px;font-size:1.4rem;border-width:3px}.ribbon{font-size:.65rem;padding:5px 10px}.crest-note{font-size:.55rem}.value{margin:9px 0}.value strong{font-size:.75rem}.value span{font-size:.55rem}.signatures{padding:8px 18px!important}.signature-grid{gap:8px 12px;margin:8px 0 3px}.signature-grid span{height:15px}.final{font-size:2.5rem!important}
}


/* Mobile-first refinement */
.brand-link{text-decoration:none;display:inline-block}.menu-button{display:none;border:0;background:transparent;padding:10px;margin:-10px;cursor:pointer}.menu-button span{display:block;width:25px;height:2px;background:var(--navy);margin:5px 0;transition:transform .2s ease,opacity .2s ease}.hero-button{min-width:210px;text-align:center;font-weight:700}.hero p:not(.eyebrow){line-height:1.55}

@media(max-width:700px){
  .site-header{padding:16px 22px;min-height:82px}
  .site-header .brand{font-size:1.05rem;line-height:1.35;letter-spacing:.22em;max-width:235px}
  .menu-button{display:block;position:relative;z-index:8}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e8dfcb;border-bottom:1px solid #d6c7a4;padding:8px 22px 18px;box-shadow:0 10px 22px rgba(16,42,77,.08);gap:0}
  .site-header nav.open{display:flex;flex-direction:column}
  .site-header nav a,.site-header nav .nav-button{display:block;width:100%;text-align:left;padding:14px 0;border-bottom:1px solid #eee6d4;font-size:1.05rem}
  .site-header nav .nav-button{border-top:0;border-left:0;border-right:0}
  .menu-button.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-button.active span:nth-child(2){opacity:0}
  .menu-button.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{padding:62px 24px 72px}
  .hero h1{font-size:clamp(2.65rem,12vw,4rem);line-height:.98;max-width:11ch;margin:18px auto 22px}
  .hero p:not(.eyebrow){font-size:1.13rem;max-width:34ch;margin-bottom:30px}
  .eyebrow{font-size:.74rem!important;letter-spacing:.18em;line-height:1.5;max-width:26ch!important}
  .button{padding:15px 24px}
  .builder-shell{padding:22px 14px;gap:20px}
  .panel{padding:20px 18px}
  .preview-toolbar{width:100%;display:block;padding:0 2px;line-height:1.45}
  .preview-toolbar span{display:block;margin-top:3px}
  .preview-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .certificate{transform:scale(.62);transform-origin:top left;margin-right:-399px;margin-bottom:-513px}
}

@media(max-width:430px){
  .site-header{padding:15px 18px}
  .site-header .brand{font-size:1rem;max-width:215px}
  .hero{padding:56px 20px 64px}
  .hero h1{font-size:2.9rem}
  .hero p:not(.eyebrow){font-size:1.06rem}
  .certificate{transform:scale(.38);margin-right:-651px;margin-bottom:-837px}
}

/* Commission section */
.commission{background:linear-gradient(180deg,#fff 0%,#f5edda 100%);border-top:3px double var(--gold);text-align:center;padding:70px 8vw 60px}
.commission h2{font-size:clamp(1.9rem,4vw,3rem);color:var(--navy);margin:12px 0 0;text-transform:uppercase;letter-spacing:.04em;font-weight:500}
.commission .ornament{margin:18px auto 22px}
.commission-lead{max-width:720px;margin:0 auto 34px;font-size:1.12rem;line-height:1.6}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1000px;margin:0 auto 38px;text-align:center}
.promise{background:var(--cream);border:1px solid rgba(166,120,24,.45);padding:22px 20px}
.promise h3{color:var(--red);text-transform:uppercase;font-size:1rem;letter-spacing:.05em;margin:0 0 10px}
.promise p{margin:0;line-height:1.5;font-size:.98rem}
.commission-button{background:var(--gold);color:#211a0c;font-weight:700;letter-spacing:.05em;padding:16px 30px}
.commission-note{color:#6d624f;font-size:.95rem;margin:14px auto 4px;max-width:46ch}
.commission-script{margin-top:10px}
.site-footer{text-align:center;padding:26px 20px 34px;background:#102a4d;color:#e8dfcb}
.site-footer p{margin:5px 0;font-size:.86rem;letter-spacing:.04em}
@media(max-width:800px){.promise-grid{grid-template-columns:1fr;max-width:460px}}
@media(max-width:700px){.commission{padding:56px 24px 50px}}
