:root{--ink:#171717;--paper:#f5f3ef;--mist:#e5e4e1;--warm:#bd7d58;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.6}img{display:block;max-width:100%;height:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:99}.preview-bar{background:#252525;color:#eee;text-align:center;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.site-header{height:94px;max-width:var(--max);margin:auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.brand{color:inherit;text-decoration:none;text-align:center;line-height:1;letter-spacing:.25em}.brand span{display:block;font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.19em}.brand small{font-size:.58rem}.site-header nav{display:flex;gap:2rem}.site-header nav a,.text-link{color:inherit;text-decoration:none;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.site-header nav a:hover,.text-link:hover{text-decoration:underline}.menu-button{display:none}.hero{min-height:650px;display:grid;grid-template-columns:58% 42%;background:#111;color:white}.hero figure{margin:0;position:relative;overflow:hidden}.hero figure img{width:100%;height:100%;object-fit:cover}.hero figcaption,.image-pair figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.68);color:white;padding:.25rem .55rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hero-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.73rem;font-weight:700;color:var(--warm)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.05;margin:.5rem 0 1.3rem}h1{font-size:clamp(3rem,5vw,5.7rem)}h2{font-size:clamp(2.25rem,4vw,4.3rem)}h3{font-size:1.08rem;margin:.7rem 0}.lede{font-size:1.1rem;max-width:32rem;color:#ddd}.actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-block;border:1px solid white;color:white;text-decoration:none;padding:.85rem 1.15rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.button.primary{background:var(--warm);border-color:var(--warm)}.button.secondary:hover{background:white;color:#111}.button.light{background:white;border-color:white;color:#111}.fine-print{font-size:.73rem;color:#aaa;margin-top:2rem}.section{max-width:var(--max);margin:auto;padding:8rem 2rem}.intro{text-align:center}.intro>p:not(.eyebrow){max-width:760px;margin:0 auto}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cac8c2;margin-top:4rem;text-align:left}.feature-grid article{background:var(--paper);padding:2.5rem}.feature-grid span{font-family:Georgia,serif;color:var(--warm);font-size:1.5rem}.design{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:5rem;align-items:center}.section-copy p{max-width:32rem}.image-pair{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);align-items:end;gap:1rem}.image-pair figure{position:relative;margin:0}.image-pair img{width:100%;height:330px;object-fit:cover}.image-pair .tall img{height:500px}.process{max-width:none;background:var(--mist);padding-left:max(2rem,calc((100vw - var(--max))/2 + 2rem));padding-right:max(2rem,calc((100vw - var(--max))/2 + 2rem))}.process ol{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:steps}.process li{border-top:1px solid #a4a3a0;padding-top:1.5rem;display:flex;flex-direction:column}.process li:before{counter-increment:steps;content:"0" counter(steps);color:var(--warm);font-family:Georgia,serif;font-size:1.6rem}.process span{margin-top:.5rem}.faq{max-width:900px}.faq details{border-top:1px solid #bbb;padding:1.3rem 0}.faq details:last-child{border-bottom:1px solid #bbb}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:700}.faq details p{max-width:720px}.contact{max-width:none;background:#191919;color:white;display:flex;justify-content:space-between;align-items:end;gap:3rem;padding-left:max(2rem,calc((100vw - var(--max))/2 + 2rem));padding-right:max(2rem,calc((100vw - var(--max))/2 + 2rem))}.contact h2{max-width:700px}.contact .text-link{color:white}footer{max-width:var(--max);margin:auto;padding:3.5rem 2rem;display:grid;grid-template-columns:1fr 2fr auto;gap:3rem;align-items:start;font-size:.72rem;color:#555}.footer-brand{color:#222}footer p{margin:0}
@media(max-width:900px){.site-header{height:auto;min-height:82px;flex-wrap:wrap;padding:1rem 1.2rem}.menu-button{display:block;border:1px solid #333;background:transparent;padding:.55rem .75rem}.site-header nav{display:none;width:100%;flex-direction:column;gap:.2rem;padding:1rem 0}.site-header nav.open{display:flex}.site-header nav a{padding:.6rem 0}.hero{grid-template-columns:1fr}.hero figure{min-height:55vw}.hero-copy{padding:3.5rem 1.5rem}.section{padding:5rem 1.5rem}.feature-grid,.process ol{grid-template-columns:1fr}.design{grid-template-columns:1fr;gap:2rem}.image-pair{grid-template-columns:1fr 1fr}.image-pair img,.image-pair .tall img{height:55vw}.contact{display:block}.contact .actions{margin-top:2rem}footer{grid-template-columns:1fr;gap:1.4rem}}
@media(max-width:520px){h1{font-size:2.8rem}.hero figure{min-height:72vw}.image-pair{grid-template-columns:1fr}.image-pair img,.image-pair .tall img{height:auto}.button{width:100%;text-align:center}.feature-grid article{padding:1.8rem}.preview-bar{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* V1.1 editorial gallery: draws from the original Ironside visual language. */
.visual-story{background:#202020;color:#fff;padding:8rem max(2rem,calc((100vw - var(--max))/2 + 2rem))}.story-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:end;margin-bottom:4rem}.story-heading h2{max-width:820px}.story-heading>p{color:#c8c8c8;max-width:430px}.editorial-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:1rem}.editorial-grid figure{position:relative;margin:0;min-height:260px;overflow:hidden;background:#333}.editorial-grid .editorial-main{grid-row:1/3;min-height:650px}.editorial-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.editorial-grid figure:hover img{transform:scale(1.02)}.editorial-grid figcaption{position:absolute;inset:auto 0 0;padding:3.5rem 1.5rem 1.4rem;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;justify-content:space-between;align-items:end;gap:1rem}.editorial-grid figcaption strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.editorial-grid figcaption span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#ddd;text-align:right}.design-notes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-top:1px solid #555}.design-notes p{margin:0;padding:1.4rem 1rem 0 0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.design-notes span{display:block;color:var(--warm);font-family:Georgia,serif;font-size:1.25rem;margin-bottom:.35rem}
@media(max-width:900px){.story-heading{grid-template-columns:1fr;gap:1rem}.editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.editorial-grid .editorial-main{grid-column:1/3;grid-row:auto;min-height:65vw}.editorial-grid figure{min-height:42vw}.design-notes{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.visual-story{padding:5rem 1.5rem}.editorial-grid{grid-template-columns:1fr}.editorial-grid .editorial-main{grid-column:auto;min-height:100vw}.editorial-grid figure{min-height:65vw}.editorial-grid figcaption{display:block}.editorial-grid figcaption span{display:block;text-align:left;margin-top:.3rem}}

.rendering-band{display:grid;grid-template-columns:1.2fr .55fr .8fr;min-height:620px;background:#dedbd5}.rendering-band figure{margin:0;position:relative;overflow:hidden}.rendering-band img{width:100%;height:100%;object-fit:cover}.rendering-band figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.68);color:#fff;padding:.3rem .6rem;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.rendering-copy{padding:clamp(3rem,5vw,6rem) clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}.rendering-copy h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}.rendering-copy small{display:block;margin-top:2rem;color:#67635f}
.contact{align-items:start}.contact-intro{max-width:560px}.contact-intro .text-link{display:inline-block;margin-top:1.5rem}.interest-form{width:min(100%,560px);display:grid;gap:1rem;background:#272727;padding:clamp(1.5rem,3vw,2.5rem)}.interest-form label{display:grid;gap:.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#ddd}.interest-form label>span{opacity:.7;text-transform:none;letter-spacing:0}.interest-form input,.interest-form textarea{width:100%;border:1px solid #666;background:#181818;color:#fff;padding:.85rem;font:inherit;font-size:.95rem;letter-spacing:normal;text-transform:none}.interest-form input:focus,.interest-form textarea:focus{outline:2px solid var(--warm);outline-offset:2px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.interest-form .consent{display:flex;grid-template-columns:none;align-items:flex-start;gap:.7rem;text-transform:none;letter-spacing:0;line-height:1.45}.interest-form .consent input{width:auto;margin-top:.25rem}.interest-form .button{width:max-content;cursor:pointer}.form-note,.form-status{font-size:.72rem;color:#bbb;margin:0}.form-status{color:#fff;min-height:1.1rem}
@media(max-width:1000px){.rendering-band{grid-template-columns:1.2fr .8fr}.rendering-band .detail-study{display:none}.rendering-copy{padding:4rem 2rem}}
@media(max-width:760px){.rendering-band{grid-template-columns:1fr}.rendering-band .wide-study{min-height:65vw}.contact-intro{margin-bottom:2rem}.interest-form{width:100%}}
@media(max-width:520px){.field-pair{grid-template-columns:1fr}.interest-form{padding:1.4rem}.interest-form .button{width:100%}}

.legal{max-width:960px}.legal h2{margin-bottom:3rem}.legal-grid{display:grid;gap:1rem}.legal details{border:1px solid #c4c0ba;background:#eeece7}.legal summary{cursor:pointer;padding:1.3rem 1.5rem;font-family:Georgia,serif;font-size:1.25rem}.legal details>div{padding:0 1.5rem 1.5rem;max-width:780px;color:#4d4a46}.legal details p:last-child{margin-bottom:0}.legal strong{color:#292725}footer a{color:inherit;text-underline-offset:.2em}

/* Review updates: remove promotional rendering; policies live on separate pages. */
.rendering-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rendering-band .detail-study{display:block}
.rendering-band .detail-study img{object-fit:contain;max-height:680px}
.policy-page{max-width:880px;min-height:60vh}
.policy-page h1{font-size:clamp(2.4rem,5vw,4rem);overflow-wrap:anywhere}
.policy-page p{max-width:70ch}
#contact{scroll-margin-top:1rem}
@media(max-width:760px){.rendering-band{grid-template-columns:1fr}.rendering-band .detail-study img{max-height:520px}}
/* Click-to-enlarge gallery, with visible controls on touch screens. */
main figure{position:relative}.photo-open{position:absolute;inset:0;border:0;background:transparent;cursor:zoom-in;width:100%;height:100%;z-index:2}.zoom-icon{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#111c;color:#fff;transition:transform .2s}.photo-open:hover .zoom-icon{transform:scale(1.12)}.photo-open:focus-visible{outline:3px solid var(--warm);outline-offset:-4px}.rendering-band{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.rendering-band .clean-study img{object-fit:cover;min-height:100%}
.viewer-open{overflow:hidden}.photo-viewer{width:min(1200px,calc(100% - 24px));max-height:94dvh;border:1px solid #555;padding:20px;background:#191919;color:white;border-radius:16px;overflow:auto}.photo-viewer::backdrop{background:#000d;backdrop-filter:blur(5px)}.viewer-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.viewer-head h2{font-size:clamp(1.5rem,3vw,2rem);margin:.4rem 0 1rem}.viewer-head small{letter-spacing:.15em;color:#ccc}.photo-viewer button{cursor:pointer;background:#343434;color:white;border:1px solid #666;border-radius:8px;min-width:44px;min-height:44px;font:inherit}.photo-viewer button:focus-visible{outline:3px solid #e6af7f;outline-offset:2px}.viewer-close{padding:8px 14px}.viewer-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center}.viewer-stage>img{width:100%;height:58dvh;object-fit:contain}.viewer-stage>button{font-size:2rem}.viewer-thumbs{display:flex;gap:10px;overflow-x:auto;padding:5px}.viewer-thumbs button{flex:0 0 90px;padding:3px}.viewer-thumbs img{width:82px;height:55px;object-fit:cover;border-radius:5px}.viewer-thumbs button[aria-current=true]{border:3px solid var(--warm)}#viewer-caption{font-size:.82rem;line-height:1.5;color:#ddd;margin:12px 0}.photo-viewer .viewer-stage img{min-height:0}
@media(max-width:760px){.rendering-band{grid-template-columns:1fr}.rendering-band .clean-study{min-height:65vw}.viewer-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:3px}.photo-viewer{padding:12px}.viewer-stage>img{height:48dvh}.viewer-head h2{font-size:1.35rem}}

.interest-form .botcheck{display:none}.interest-form button:disabled{opacity:.6;cursor:not-allowed}
.captcha-wrap{min-height:78px;overflow:hidden}.cf-turnstile{transform-origin:left top}

/* Prominent confirmation, only after a confirmed successful submission. */
.form-status.is-success{display:flex;align-items:flex-start;gap:.85rem;padding:1.2rem;margin-top:.25rem;border:1px solid #62d896;border-radius:8px;background:#163a28;color:#f1fff6;line-height:1.5;font-size:1rem}
@media(max-width:360px){.cf-turnstile{width:300px;transform:scale(.9)}}
.success-check{display:flex;align-items:center;justify-content:center;flex:0 0 2.2rem;width:2.2rem;height:2.2rem;border-radius:50%;background:#62d896;color:#10291c;font-size:1.65rem;font-weight:700;line-height:1}
.success-title{display:block;margin-bottom:.3rem;font-size:clamp(1.45rem,3vw,1.7rem);line-height:1.2;color:#a2f0be}
.success-message{display:block}

.form-note a{color:inherit;text-underline-offset:.18em}
