.gm-bespoke{--ink:#1D1D1D;--line:#EDECEB;--paper:#fff;--soft:#F4F3F0;color:var(--ink);background:var(--paper);font-family:'Alexandria',Arial,sans-serif}
.gm-bespoke *{box-sizing:border-box}.gm-bespoke__wrap{width:min(1440px,calc(100% - 64px));margin-inline:auto}.gm-bespoke__narrow{max-width:850px;margin-inline:auto;text-align:center}
.gm-bespoke__eyebrow{margin:0 0 18px;font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.gm-bespoke__h1,.gm-bespoke__h2,.gm-bespoke__step h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:400}
.gm-bespoke__h1{max-width:700px;margin:0;font-size:clamp(44px,5.4vw,82px);line-height:1.02;letter-spacing:-.025em}.gm-bespoke__h2{margin:0;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.018em}
.gm-bespoke__copy{max-width:680px;margin-top:26px;font-size:14px;line-height:1.8}.gm-bespoke .rte p{margin:0 0 1em}.gm-bespoke .rte p:last-child{margin-bottom:0}
.gm-bespoke__hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:720px;border-bottom:1px solid var(--line)}.gm-bespoke__hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 80px 80px 0}
.gm-bespoke__media{min-width:0;overflow:hidden;background:#F7F7F5}.gm-bespoke__media--hero{min-height:720px}.gm-bespoke__image{display:block;width:100%;height:100%;object-fit:cover}
.gm-bespoke__placeholder{display:flex;width:100%;height:100%;min-height:520px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid var(--line);background:#F7F7F5;color:#777;text-align:center}.gm-bespoke__placeholder span{font-size:10px;font-weight:600;letter-spacing:.15em}.gm-bespoke__placeholder small{font-size:10px;color:#999}.gm-bespoke__placeholder--portrait{min-height:680px}.gm-bespoke__placeholder--landscape{min-height:560px}.gm-bespoke__placeholder--wide{min-height:620px}
.gm-bespoke__button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:48px;margin-top:34px;padding:13px 24px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;text-decoration:none;font:600 10px/1.2 'Alexandria',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.gm-bespoke__button:hover{background:#fff;color:var(--ink)}
.gm-bespoke__intro{padding:140px 0}.gm-bespoke__intro .gm-bespoke__copy{margin-inline:auto}.gm-bespoke__split,.gm-bespoke__craft{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gm-bespoke__split-copy,.gm-bespoke__craft-copy{display:flex;justify-content:center;flex-direction:column;padding:100px}
.gm-bespoke__lab{margin-top:140px;padding:100px 0;background:var(--soft)}.gm-bespoke__lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.gm-bespoke__process{padding:140px 0}.gm-bespoke__section-head{max-width:850px;margin:0 auto 70px;text-align:center}.gm-bespoke__steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gm-bespoke__step{min-height:280px;padding:28px 24px;border-right:1px solid var(--line)}.gm-bespoke__step:last-child{border-right:0}.gm-bespoke__step-no{display:block;margin-bottom:62px;color:#777;font-size:10px;letter-spacing:.12em}.gm-bespoke__step h3{margin:0 0 16px;font-size:22px;line-height:1.2}.gm-bespoke__step .rte{color:#666;font-size:11px;line-height:1.65}
.gm-bespoke__options-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-bottom:140px}.gm-bespoke__options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.gm-bespoke__option{padding:20px 8px;border-bottom:1px solid var(--line);font-size:12px}.gm-bespoke__option:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.gm-bespoke__contact{padding:140px 0;background:var(--soft)}.gm-bespoke__contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.gm-bespoke__form{display:flex;flex-direction:column;gap:24px}.gm-bespoke__field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gm-bespoke__field{display:flex;flex-direction:column;gap:9px}.gm-bespoke__field label{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.gm-bespoke__field input,.gm-bespoke__field select,.gm-bespoke__field textarea{width:100%;border:0;border-bottom:1px solid #BDBBB6;border-radius:0;outline:0;background:transparent;color:var(--ink);padding:12px 0;font:400 13px/1.5 'Alexandria',Arial,sans-serif}.gm-bespoke__field textarea{resize:vertical}.gm-bespoke__field input:focus,.gm-bespoke__field select:focus,.gm-bespoke__field textarea:focus{border-bottom-color:var(--ink)}.gm-bespoke__success{padding:18px 0;border-block:1px solid var(--ink);font-size:12px}
@media(max-width:1100px){.gm-bespoke__wrap{width:min(100% - 40px,1440px)}.gm-bespoke__hero-copy{padding-right:50px}.gm-bespoke__split-copy,.gm-bespoke__craft-copy{padding:70px 50px}.gm-bespoke__lab-grid{gap:50px}.gm-bespoke__steps{grid-template-columns:repeat(3,1fr)}.gm-bespoke__step{border-bottom:1px solid var(--line)}}
@media(max-width:749px){.gm-bespoke__wrap{width:calc(100% - 32px)}.gm-bespoke__hero,.gm-bespoke__split,.gm-bespoke__craft,.gm-bespoke__lab-grid,.gm-bespoke__options-section,.gm-bespoke__contact-grid{grid-template-columns:1fr}.gm-bespoke__hero{min-height:0}.gm-bespoke__hero-copy{padding:72px 0 56px}.gm-bespoke__media--hero{min-height:0}.gm-bespoke__media--hero .gm-bespoke__image{aspect-ratio:4/5}.gm-bespoke__placeholder{min-height:440px}.gm-bespoke__intro{padding:90px 0}.gm-bespoke__split-copy,.gm-bespoke__craft-copy{padding:64px 0}.gm-bespoke__lab{margin-top:90px;padding:80px 0}.gm-bespoke__process{padding:90px 0}.gm-bespoke__steps{grid-template-columns:1fr}.gm-bespoke__step{min-height:0;padding:28px 0;border-right:0}.gm-bespoke__step-no{margin-bottom:30px}.gm-bespoke__options-section{gap:45px;padding-bottom:90px}.gm-bespoke__options{grid-template-columns:1fr}.gm-bespoke__option,.gm-bespoke__option:nth-child(even){padding:18px 0;border-left:0}.gm-bespoke__contact{padding:90px 0}.gm-bespoke__contact-grid{gap:55px}.gm-bespoke__field-grid{grid-template-columns:1fr}}
