:root{--ink:#101816;--paper:#fff;--soft:#f5f6f4;--gold:#c6a77a;--muted:#626b66;--line:#d9ddda;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}p,h1,h2,h3,figure{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a68c63;outline-offset:5px}::selection{background:#c6a77a;color:#101816}.skip{position:absolute;left:16px;top:-90px;z-index:99;background:#fff;padding:10px}.skip:focus{top:10px}.draft-note{background:#f0e9dd;color:#54452e;text-align:center;padding:6px 16px;font-size:14px;line-height:1.7}.site-header{min-height:104px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px 5.3%;gap:30px;border-bottom:1px solid #ffffff20}.brand{display:flex;flex-direction:column;line-height:1.3}.brand-name{font:32px/1.3 Georgia,serif;letter-spacing:.16em}.brand-mark{display:none}.brand-caption{font-size:10px;letter-spacing:.18em;color:#bfc6bf;margin-top:3px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:14px}.site-header nav a:hover{color:var(--gold)}.nav-contact{border:1px solid #777e73;padding:9px 20px}.menu-toggle{display:none}.hero{background:var(--ink);color:#fff;min-height:710px;position:relative;display:grid;grid-template-columns:1.1fr 1fr;padding-bottom:70px}.hero-copy{align-self:center;padding:65px 8% 75px 10%;z-index:1}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.16em;line-height:1.5;color:#68776c;font-weight:500;margin-bottom:28px}.hero .eyebrow{color:var(--gold)}h1{font:clamp(32px,3.6vw,60px)/1.55 var(--serif);letter-spacing:.045em;font-weight:500;margin-bottom:26px}.hero-description{font-size:16px;line-height:2.1;color:#d2d9d2}.button{display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:14px 30px;border:1px solid transparent;line-height:1.7;font-size:16px;text-align:center;transition:background .2s,color .2s}.button-gold{background:var(--gold);color:var(--ink);margin-top:36px}.button-gold:hover{background:#ddc19a}.hero-footnote{font-size:13px;color:#aeb8af;margin-top:15px}.hero-image{min-height:590px;position:relative;overflow:hidden;background:#0b100e}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;position:absolute;opacity:.9}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101816 0,transparent 28%),linear-gradient(0deg,#101816 0,transparent 24%)}.hero-image figcaption{position:absolute;bottom:26px;right:11%;z-index:1;letter-spacing:.19em;font:12px/1.5 Arial,sans-serif;color:#d2ccbd}.hero-bottom{position:absolute;bottom:0;left:5.3%;right:5.3%;height:70px;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.11em;color:#acb5ac}.hero-bottom a{font-size:14px;letter-spacing:0}.section{padding:100px 8.5%;scroll-margin-top:24px}.section-intro h2,.section-heading h2,.contact h2,.company h2{font:clamp(27px,2.6vw,40px)/1.65 var(--serif);letter-spacing:.04em;font-weight:500}.approach{display:grid;grid-template-columns:1fr 1fr;gap:44px 10%;padding-top:115px;padding-bottom:90px}.approach-body{padding-top:43px;color:var(--muted)}.lead{font:24px/1.8 var(--serif);color:var(--ink);margin-bottom:22px}.approach-body p+p{margin-top:16px}.criteria{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:20px;padding-top:40px;gap:42px}.criterion-number{font:26px Georgia,serif;color:#9b825f}.criteria h3{font-size:18px;font-weight:500;margin:18px 0 12px}.criteria p{color:var(--muted);font-size:15px;line-height:1.95}.collection{background:var(--soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{color:var(--muted);font-size:15px}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.model-card{padding:36px 38px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:flex-start}.model-meta{display:flex;justify-content:space-between;gap:15px;width:100%;font:12px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#788379;margin-bottom:30px}.model-card h3{font:24px/1.6 var(--serif);font-weight:500;letter-spacing:.02em}.references{font:14px/1.7 Arial,sans-serif;color:#90744e;margin:10px 0 18px}.model-card>p:not(.references){font-size:15px;color:var(--muted);margin-bottom:24px}.model-action{border:0;border-bottom:1px solid #8c9a8d;padding:4px 0;background:none;color:var(--ink);font-size:14px;margin-top:auto}.model-action:hover{color:#9b7444}.section-note{font-size:13px;color:var(--muted);margin-top:23px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;margin:0;padding:0}.steps li{border-top:1px solid var(--line);padding-top:26px}.steps span{font:38px/1.2 Georgia,serif;color:#9d8869}.steps h3{font-weight:500;font-size:18px;margin:24px 0 13px}.steps p{font-size:15px;color:var(--muted)}.process-note{padding:25px 30px;background:var(--soft);margin-top:40px}.process-note strong{font-weight:500}.process-note p{font-size:14px;color:var(--muted);margin-top:7px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;font-size:16px;cursor:pointer;padding:22px 35px 22px 0;position:relative;line-height:1.8}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:5px;top:22px;font-size:22px;font-weight:300;line-height:1.3;color:#8e9c8f}details[open] summary:after{content:"−"}details p{color:var(--muted);font-size:15px;padding:0 28px 24px 0}.contact{background:#edf0ec;display:grid;grid-template-columns:.82fr 1.18fr;gap:8%}.contact-intro>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:25px}.photo-guide{margin-top:45px;border-top:1px solid #cbd2c8;padding-top:25px}.photo-guide h3{font-size:16px;font-weight:500}.photo-guide ul{padding-left:20px;color:var(--muted);font-size:14px;margin:13px 0}.photo-guide p{font-size:13px;color:var(--muted)}form{background:#fff;padding:38px}.form-notice{padding:14px 17px;background:#f4eee4;font-size:14px;line-height:1.8;color:#6d5c3b;margin-bottom:25px}.field{margin-bottom:23px;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-size:14px;font-weight:500;line-height:1.7;margin-bottom:9px}.required,.optional{font-size:12px;font-weight:400;margin-left:8px}.required{color:#966443}.optional{color:#818980}input:not([type=checkbox]):not([type=file]),textarea{width:100%;border:1px solid #cdd4cc;border-radius:0;background:#fbfcfa;padding:12px 13px;color:var(--ink);font-size:16px;line-height:1.7}input::placeholder,textarea::placeholder{color:#7b857d;opacity:1;font-size:14px}textarea{resize:vertical;min-height:135px}input[type=file]{width:100%;font-size:14px;color:var(--muted);padding:10px 0}input::file-selector-button{border:1px solid #ccd3ca;color:var(--ink);background:#f5f7f2;padding:10px 15px;margin-right:12px;font:14px var(--sans);cursor:pointer}.field-help{font-size:12px;line-height:1.8;color:var(--muted);margin-top:10px}.file-list{padding-left:20px;font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0}.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.9}.consent input{width:18px;height:18px;accent-color:#3a503e;flex-shrink:0;margin:5px 0 0}.text-link{padding:0;background:none;border:0;border-bottom:1px solid var(--ink);font-size:inherit;line-height:inherit}.button-dark{background:var(--ink);color:#fff;width:100%;margin-top:24px}.button-dark:hover{background:#2d3b32}.button-dark:disabled{background:#69736b;color:#fff;opacity:.8}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status{font-size:14px;line-height:1.8;margin-top:14px;white-space:pre-line;overflow-wrap:anywhere}#form-status.error{color:#9e3329}#form-status.success{color:#235e39}.company{padding-top:62px;padding-bottom:65px}.company-content{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.company h2{font-family:Georgia,serif;letter-spacing:.17em}.company dl{margin:0;font-size:14px}.company dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.company dt{color:var(--muted)}.company dd{margin:0}.site-footer{background:var(--ink);color:#ced4cc;padding:45px 5.3%;display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-brand{font:30px/1.4 Georgia,serif;letter-spacing:.2em;color:#fff}.site-footer>div{display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:13px}.site-footer button{border:0;background:none;color:inherit;padding:0;font-size:13px}.site-footer>p{grid-column:1/-1;color:#9da69c;font-size:12px;line-height:1.9}.mobile-contact{display:none}dialog{max-width:680px;width:calc(100% - 32px);max-height:85vh;border:0;padding:36px;color:var(--ink);overflow:auto}dialog::backdrop{background:#07100bd9}.dialog-top{display:flex;justify-content:space-between;gap:30px}.dialog-top .eyebrow{margin-bottom:20px}.dialog-close{background:none;border:0;font-size:14px;padding:0;color:var(--muted);align-self:flex-start}dialog h2{font:27px/1.6 var(--serif);font-weight:500;margin-bottom:25px}dialog h3{font-size:16px;margin:24px 0 8px}dialog p{font-size:15px;color:var(--muted)}.privacy-draft{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
@media(min-width:1600px){.section{padding-left:max(8.5%,calc((100vw - 1340px)/2));padding-right:max(8.5%,calc((100vw - 1340px)/2))}.hero{min-height:800px}.hero-copy{padding-left:15%}}
@media(max-width:1050px){.site-header nav{gap:18px;font-size:13px}.section{padding:75px 6%}.hero{min-height:640px;grid-template-columns:1.05fr 1fr}.hero-copy{padding:55px 5% 60px 11%}h1{font-size:38px}.hero-image{min-height:555px}.contact{gap:5%;grid-template-columns:.8fr 1.2fr}form{padding:26px}.field-row{gap:15px}.faq,.company-content{gap:40px}.model-card{padding:30px}.section-heading>p{font-size:14px}.brand-caption{font-size:10px}}
@media(max-width:760px){html{scroll-padding-top:25px}.draft-note{font-size:12px;padding:6px 12px}.site-header{min-height:86px;padding:20px 6%;gap:20px;position:relative}.brand-name{font-size:27px}.brand-caption{font-size:9px}.menu-toggle{display:block;padding:9px 0 9px 16px;border:0;background:none;color:#fff;font-size:14px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6% 30px;background:var(--ink);z-index:20;border-top:1px solid #ffffff25}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.site-header nav a{font-size:15px}.nav-contact{text-align:center}.hero{display:block;min-height:780px;padding-bottom:60px;overflow:hidden}.hero-copy{position:relative;padding:75px 7% 275px}.hero .eyebrow{font-size:11px;margin-bottom:22px}h1{font-size:clamp(29px,7.5vw,43px);letter-spacing:.015em;line-height:1.65;margin-bottom:24px}.hero-description{font-size:14px;line-height:2}.hero-footnote{font-size:12px}.button-gold{margin-top:27px;min-height:54px;font-size:15px}.hero-image{position:absolute;inset:0;min-height:0;pointer-events:none;opacity:.5}.hero-image img{object-position:64% 40%}.hero-image:after{background:linear-gradient(90deg,#101816ed,#10181633),linear-gradient(0deg,#101816 0,transparent 45%),linear-gradient(180deg,#101816a8 0,transparent 70%)}.hero-image figcaption{bottom:97px;right:7%;font-size:10px}.hero-bottom{height:60px;left:7%;right:7%;font-size:10px;letter-spacing:.05em}.hero-bottom a{font-size:12px}.section{padding:65px 7%}.approach{grid-template-columns:1fr;gap:28px}.section-intro h2,.section-heading h2,.contact h2{font-size:29px;letter-spacing:.02em}.eyebrow{font-size:11px;margin-bottom:20px}.approach-body{padding-top:0}.lead{font-size:22px}.approach-body p{font-size:15px}.criteria{grid-template-columns:1fr;gap:30px;margin-top:5px;padding-top:30px}.criteria article{display:grid;grid-template-columns:40px 1fr;gap:0 15px}.criteria h3{margin:0 0 10px;font-size:17px;align-self:center}.criteria p{grid-column:2;font-size:14px}.criterion-number{font-size:23px;line-height:1.5}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px}.model-grid{grid-template-columns:1fr}.model-card{padding:28px}.model-meta{margin-bottom:22px}.model-card h3{font-size:23px}.model-card>p:not(.references){font-size:14px}.steps{grid-template-columns:1fr;gap:29px}.steps li{display:grid;grid-template-columns:50px 1fr;gap:0 18px}.steps span{font-size:30px}.steps h3{margin:0 0 12px;font-size:17px}.steps p{grid-column:2;font-size:14px}.process-note{padding:22px;margin-top:32px}.process-note strong{font-size:15px}.process-note p{font-size:13px}.faq{grid-template-columns:1fr;gap:30px}summary{font-size:15px;padding:21px 32px 21px 0}details p{font-size:14px}.contact{grid-template-columns:1fr;gap:34px}.photo-guide{margin-top:29px;padding-top:22px}form{padding:25px 20px}.field-row{grid-template-columns:1fr;gap:0}.company-content{grid-template-columns:1fr;gap:28px}.company dl>div{grid-template-columns:93px 1fr;gap:16px;font-size:13px}.site-footer{padding:40px 7% 108px;display:block}.site-footer>div{align-items:flex-start;flex-direction:column;gap:12px;margin:25px 0}.site-footer>p{font-size:11px}.mobile-contact{position:fixed;bottom:15px;left:5%;right:5%;z-index:15;display:block;background:var(--gold);color:var(--ink);padding:13px 20px;text-align:center;box-shadow:0 4px 20px #0003;font-size:15px}.mobile-contact.is-hidden{display:none}dialog{padding:26px}dialog h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
