:root{--hf-navy:#101f31;--hf-gold:#c5a46c;--hf-paper:#f6f0e4;--hf-ink:#142337}
.hf-header{gap:24px}.hf-nav{display:flex;flex-wrap:wrap;gap:clamp(8px,1.4vw,20px);align-items:center;margin-left:auto}.hf-nav a{font-size:12px;color:#ecdabc;white-space:nowrap;letter-spacing:.3px}.hf-nav a:hover{color:#fff}.hf-mobile-menu{display:none;color:#e8ce95}.hf-mobile-menu summary{cursor:pointer;border:1px solid #957850;padding:10px}.hf-mobile-menu>div{position:absolute;right:20px;top:76px;background:#0d1927;z-index:5;padding:20px;display:grid;gap:12px;min-width:160px}.hf-mobile-menu a{color:#edd5ab}.hf-section{padding:82px 0}.hf-section-title{font:normal clamp(36px,4.9vw,62px)/1.14 var(--serif);color:var(--hf-ink);margin:15px 0}.hf-section-title em{color:#9b793f}.hf-muted{color:#746f65;line-height:1.75}.hf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}.hf-card{background:#fffaf0;border:1px solid #ddcead;box-shadow:0 8px 25px #18233614;overflow:hidden;transition:transform .2s}.hf-card:hover{transform:translateY(-3px)}.hf-card a{text-decoration:none;color:inherit}.hf-card-media{aspect-ratio:4/3;background:radial-gradient(circle,#dac9a5,#283447);display:flex;align-items:center;justify-content:center;overflow:hidden}.hf-card-media img{width:100%;height:100%;object-fit:cover}.hf-card-media img[src^="/assets/"]{width:70%;height:70%;object-fit:contain}.hf-card-copy{padding:19px 21px}.hf-card h3{font:normal 27px var(--serif);margin:7px 0}.hf-overline{font-size:10px;font-weight:600;letter-spacing:2px;color:#a0804f;text-transform:uppercase}.hf-price{font-size:17px;color:#6d532b;font-weight:650}.hf-page-head{background:linear-gradient(125deg,#101f31,#20364c);color:#f6e5c7;padding:58px 0 65px}.hf-page-head h1{font:normal clamp(42px,5vw,72px)/1.15 var(--serif);margin:12px 0}.hf-page-head p{max-width:700px;line-height:1.8}.hf-page-head .overline{font-size:11px;letter-spacing:2px;color:#cda968}.hf-content{padding-top:50px;padding-bottom:90px;min-height:340px}.hf-empty{background:#f4ece0;border:1px solid #dfcaa5;padding:40px;margin:20px 0;color:#5b5144}.hf-filter{display:flex;flex-wrap:wrap;gap:15px;align-items:end;padding:20px;background:#f2e9da;border:1px solid #e0c99e}.hf-filter label{flex:1;min-width:180px}.hf-product{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;margin:0 0 70px}.hf-product h1{font:normal clamp(38px,4.5vw,65px)/1.1 var(--serif);color:#16273a}.hf-big-price{font:normal 32px var(--serif)}.hf-photo-stack{display:grid;gap:12px}.hf-photo-stack img{width:100%;max-height:580px;object-fit:contain;border:10px solid #e6dcc5;background:#243348;padding:15px}.hf-spec{display:grid;grid-template-columns:120px 1fr;gap:12px;border-block:1px solid #d8ccb4;padding:22px 0;margin:25px 0}.hf-spec dt{font-weight:bold;color:#726448}.hf-spec dd{margin:0}.hf-review,.hf-list-entry{padding:20px 0;border-bottom:1px solid #e1d3bb}.hf-form-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:60px}.hf-form-wrap aside{padding:23px;background:#eee3cf;align-self:start}.hf-prose{max-width:850px;white-space:normal;line-height:1.85}.hf-notice{margin-top:15px;padding:15px 20px;background:#eee4c4;border-left:4px solid #a47c37;color:#2b3238}.hf-trap{position:absolute;left:-10000px}.hf-inline-btn{background:none;border:0;color:#82673b;text-decoration:underline;cursor:pointer;font:inherit}.hf-table-wrap{overflow:auto}.hf-table{width:100%;border-collapse:collapse;font-size:14px}.hf-table th,.hf-table td{border-bottom:1px solid #d9ceb8;text-align:left;padding:14px;vertical-align:middle}.hf-table th{background:#e9decd;color:#333}.hf-table img{width:74px;height:65px;object-fit:contain}.hf-cols{display:grid;grid-template-columns:1fr 1fr;gap:35px}.hf-panel{padding:30px;border:1px solid #ddcbad;background:#fffaf1;margin:20px 0}.hf-panel h2{font:normal 28px var(--serif);margin:0 0 16px}.hf-help{font-size:12px;color:#625c54}.hf-checkout{max-width:940px}.hf-order-total{background:#eee4d2;padding:20px;border:1px solid #d8c6a7;margin:20px 0}.hf-order-total strong{font-size:22px}.hf-status{display:inline-block;padding:4px 10px;background:#eee2bd;color:#4b4235;border-radius:3px}.hf-admin-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;border-bottom:2px solid #dcc9a8;padding-bottom:15px}.hf-admin-nav a{color:#52401f;font-weight:600}.hf-admin-nav a:hover{text-decoration:underline}.hf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.hf-stats>div{padding:22px;border:1px solid #dfca9f;background:#fcf7ed}.hf-stats strong{display:block;font:normal 32px var(--serif)}
input,select,textarea{width:100%;min-height:43px;border:1px solid #b9ab93;background:#fffdfa;color:#182b39;padding:11px;font:normal 15px var(--sans);border-radius:2px}textarea{min-height:110px;resize:vertical}label{display:block;font-size:14px;color:#474034;font-weight:600;margin:10px 0 17px}label input,label select,label textarea{display:block;margin-top:6px}button,.hf-btn{font:600 14px var(--sans);padding:12px 19px;border:1px solid #997542;background:#14263a;color:#f8e9ca;cursor:pointer;display:inline-block}button:hover,.hf-btn:hover{background:#25405c;color:white}button:disabled{opacity:.45;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.hf-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hf-actions form{display:inline-flex;gap:7px;align-items:center}.hf-actions input{width:auto}.hf-compact{max-width:550px}.hf-small{font-size:12px}.hf-danger{color:#9d3838}.hf-card-media img[src^="/uploads/"]{width:100%;height:100%;object-fit:cover}
@media(max-width:1250px){.hf-nav{gap:9px}.hf-nav a{font-size:11px}.brand-words strong{font-size:20px}}
@media(max-width:980px){.hf-nav{display:none}.hf-mobile-menu{display:block;margin-left:auto}.hf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hf-stats{grid-template-columns:repeat(2,1fr)}.hf-product,.hf-form-wrap{gap:30px}}
@media(max-width:680px){.hf-product,.hf-form-wrap,.hf-cols,.form-grid{grid-template-columns:1fr}.hf-cards{grid-template-columns:1fr}.hf-stats{grid-template-columns:1fr 1fr}.hf-content{padding-top:30px}.hf-table{font-size:12px}.hf-table th,.hf-table td{padding:9px}.hf-page-head{padding:40px 0}.hf-section{padding:55px 0}}

.hf-newsletter{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.hf-newsletter label{color:#e4cf9b;max-width:340px}.hf-newsletter button{align-self:center}@media print{.announcement,.nav-wrap,.site-footer,button,.hf-admin-nav{display:none!important}.hf-page-head{background:white;color:black;padding:15px 0}.hf-content{padding:5px 0}.hf-panel{border:1px solid #888}}

/* HistoryFramed Custom Request Polish 1.0.0f */

/* Compact bespoke request hero */
body:has(.hf-custom-layout) .hf-page-head {
    padding: 34px 0 39px;
}

body:has(.hf-custom-layout) .hf-page-head h1 {
    font-size: clamp(36px, 4vw, 58px);
    letter-spacing: -.015em;
    line-height: 1.13;
    max-width: 1100px;
    margin: 10px 0 12px;
}

body:has(.hf-custom-layout) .hf-page-head .overline {
    margin: 0;
    color: #e0b971;
}

body:has(.hf-custom-layout) .hf-page-head p:not(.overline) {
    margin: 0;
    color: #e8dfcf;
    line-height: 1.6;
    max-width: 740px;
}

body:has(.hf-custom-layout) .hf-content {
    padding-top: 34px;
    padding-bottom: 78px;
}

/* Main responsive layout */
.hf-custom-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.63fr)
        minmax(280px, .82fr);
    gap: clamp(22px, 3.2vw, 48px);
    align-items: start;
}

.hf-custom-layout .hf-custom-form,
.hf-custom-layout .hf-custom-guide {
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
    box-shadow: 0 16px 40px rgba(4,14,25,.12);
}

/* Form container */
.hf-custom-form {
    background: #fbf7ee;
    border: 1px solid #d9c6a8;
    border-top: 4px solid #bc9659;
    padding: clamp(23px, 3vw, 42px);

    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 17px 20px;
    align-items: start;
}

/* Form introduction */
.hf-custom-form-heading {
    grid-column: 1 / -1;
    padding-bottom: 20px;
    margin-bottom: 2px;
    border-bottom: 1px solid #e2d6c0;
}

.hf-custom-form-heading > span,
.hf-custom-guide-eyebrow {
    display: block;
    font: 700 10px/1.5 var(--sans,sans-serif);
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #946b38;
    margin-bottom: 12px;
}

.hf-custom-form-heading h2 {
    font: normal clamp(27px,2.4vw,35px)/1.18
        var(--serif,Georgia,serif);
    color: #1b3042;
    margin: 0 0 9px;
}

.hf-custom-form-heading p {
    color: #5d5a52;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
    max-width: 620px;
}

/* Clearly readable form labels */
.hf-custom-form > label {
    display: block;
    min-width: 0;
    color: #243749;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
    margin: 0;
}

/* Full-width detailed fields */
.hf-custom-form > label:has([name="title"]),
.hf-custom-form > label:has([name="coins"]),
.hf-custom-form > label:has([name="inscription"]),
.hf-custom-form > label:has([name="notes"]),
.hf-custom-form > label:has([name="reference_photo"]) {
    grid-column: 1 / -1;
}

/* Input styling */
.hf-custom-form :is(
    input:not([type="hidden"]):not([type="checkbox"]),
    select,
    textarea
) {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 8px 0 0;
    padding: 12px 14px;
    min-height: 48px;

    font: 400 15px/1.45 var(--sans,sans-serif);

    border: 1px solid #c5b69f;
    border-radius: 4px;
    background: #ffffff;
    color: #172a3b;
    box-shadow: none;
}

.hf-custom-form textarea {
    min-height: 92px;
    resize: vertical;
}

.hf-custom-form textarea[name="notes"] {
    min-height: 116px;
}

/* File upload field */
.hf-custom-form input[type="file"] {
    padding: 11px;
    height: auto;
    cursor: pointer;
}

.hf-custom-form input[type="file"]::file-selector-button {
    background: #e8dcc6;
    color: #213244;
    border: 1px solid #c4ae87;
    padding: 8px 12px;
    margin-right: 14px;
    border-radius: 3px;
    cursor: pointer;
    font-weight: 700;
}

/* Accessible focus states */
.hf-custom-form :is(input,textarea,select):focus-visible {
    outline: 3px solid #c79e56;
    outline-offset: 2px;
    border-color: #88642d;
}

/* Submit action */
.hf-custom-form > button[type="submit"],
.hf-custom-form > button.button-gold {
    grid-column: 1 / -1;
    justify-self: start;
    width: auto;
    max-width: 100%;
    margin: 6px 0 0;
    padding: 15px 25px;
    min-height: 50px;

    font-weight: 700;
    color: #182a3a;
    background: linear-gradient(135deg,#ecd3a0,#c7a268);
    border: 1px solid #b48a4e;
    border-radius: 3px;
    cursor: pointer;
}

.hf-custom-form > button.button-gold:hover {
    background: #e6ca94;
    color: #142336;
}

/* Commission process information card */
.hf-custom-layout .hf-custom-guide {
    background: #f0e5d1;
    border: 1px solid #dbc6a4;
    border-top: 4px solid #bc9659;
    padding: clamp(23px,2.7vw,35px);
    position: sticky;
    top: 24px;
    color: #233547;
}

.hf-custom-guide h2 {
    font: normal clamp(26px,2.2vw,32px)/1.18
        var(--serif,Georgia,serif);
    color: #1c3042;
    margin: 0 0 18px;
}

.hf-custom-guide p {
    margin: 0;
    padding: 13px 0;
    font-size: 14px;
    line-height: 1.65;
    color: #384657;
    border-top: 1px solid #dbcab1;
}

.hf-custom-guide p:last-child {
    font-size: 13px;
    color: #665949;
    font-style: italic;
    padding-bottom: 0;
}

/* Tablet layout */
@media (max-width: 980px) {
    .hf-custom-layout {
        grid-template-columns: minmax(0,1fr);
        gap: 22px;
    }

    .hf-custom-layout .hf-custom-guide {
        position: static;
    }
}

/* Mobile layout */
@media (max-width: 640px) {
    body:has(.hf-custom-layout) .hf-page-head {
        padding: 25px 0 28px;
    }

    body:has(.hf-custom-layout) .hf-page-head h1 {
        font-size: clamp(32px,8vw,41px);
    }

    body:has(.hf-custom-layout) .hf-content {
        padding-top: 23px;
        padding-bottom: 52px;
    }

    .hf-custom-form {
        grid-template-columns: minmax(0,1fr);
        gap: 16px;
        padding: 23px 20px;
    }

    .hf-custom-form > label {
        grid-column: 1 / -1;
    }

    .hf-custom-form > button.button-gold {
        width: 100%;
        justify-self: stretch;
    }
}

