@charset "UTF-8";
:root{--navy:#142541;--ink:#22314a;--teal:#087c89;--line:#d7e0e5;--pale:#f0f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #18a7b7;outline-offset:6px}a:hover{color:var(--teal)}p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{color:var(--navy)}.wrap{max-width:1200px;width:calc(100% - 112px);margin:auto}header{min-height:96px;padding:19px 56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:22px}.wordmark{font-family:Georgia,serif;font-size:34px;font-weight:bold;letter-spacing:-1.5px;line-height:1.2}.dot{color:var(--teal)}.company{font-size:13px;font-weight:700;letter-spacing:.06em;border-left:1px solid var(--line);padding-left:22px}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:700}.nav-contact{border:1px solid var(--navy);padding:8px 23px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--teal)}.hero{padding-top:64px}.hero-top{display:flex;justify-content:space-between;align-items:center}.small-index{font-size:13px;color:#596675;letter-spacing:.1em}.hero h1{font-size:clamp(40px,4.6vw,66px);font-weight:600;letter-spacing:.015em;line-height:1.6;margin:34px 0 26px}.accent{color:var(--teal)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-bottom p{line-height:2.2;color:#526075}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:18px 25px;background:var(--navy);color:white;font-size:14px;min-width:230px;transition:background .2s}.button:hover{background:var(--teal);color:white}.button span{font-size:22px;line-height:1}.hero-foot{margin-top:55px;padding:25px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-foot>div{display:flex;align-items:center;gap:25px}.hero-foot strong{font-family:Georgia,serif;font-size:49px;font-weight:400;line-height:1.3}.hero-foot strong span{font-family:inherit;font-size:18px;margin-left:8px}.hero-foot>div>span{font-size:14px;color:#526075}.hero-foot p{font-size:13px;text-align:right;line-height:2}.hero-foot i{font-style:normal;color:#a0b4bc;padding:0 10px}.hero-foot b{font-weight:400}.section{padding-top:105px;padding-bottom:105px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head>p{color:#5a6677;font-size:15px}h2{font-size:34px;font-weight:600;letter-spacing:.025em;line-height:1.6;margin-top:15px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.services article{border-top:2px solid var(--navy);padding-top:22px}.number{color:var(--teal);font-size:13px}.services h3{font-size:21px;margin:18px 0}.services p{color:#566375;font-size:15px}.services ul{list-style:none;padding:18px 0 0;margin:0;font-size:13px;line-height:2.3}.services li:before{content:"—";color:var(--teal);padding-right:10px}.works{background:var(--pale)}.featured{display:grid;grid-template-columns:1fr 1.25fr;background:var(--navy);color:#e2e9f0;padding:48px;gap:50px}.tag{display:inline-block;font-size:12px;letter-spacing:.07em;border:1px solid #a8bcc5;padding:3px 11px;color:var(--teal)}.featured .tag{color:#a0e3e5;border-color:#5b7c91}.work-title h3{font-size:30px;color:#fff;margin-top:25px}.work-title h3 small,.other-works h3 small{font-size:15px;font-weight:400;white-space:nowrap}.work-title>p{font-size:14px;margin-top:12px;color:#b5c6d6}.featured h4{color:#fff;font-size:21px;margin:4px 0 18px}.work-detail>p{font-size:14px;line-height:2}.metrics{display:flex;align-items:center;gap:36px;margin-top:24px;border-top:1px solid #42546d;padding-top:20px}.metrics strong{font-family:Georgia,serif;font-size:48px;font-weight:400;color:white;line-height:1.2}.metrics strong span{font-family:"Yu Gothic",sans-serif;font-size:15px;margin-left:7px}.metrics p{font-size:12px;color:#b5c6d6;margin-top:7px}.times{font-size:24px;color:#83a6b9}.other-works{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.other-works article{background:white;padding:34px}.other-works h3{font-size:23px;margin-top:20px;line-height:1.7}.former{font-size:13px;color:#697585;min-height:30px}.other-works h4{font-size:17px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px}.other-works article>p:last-child{font-size:14px;margin-top:10px;color:#566375}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach h2{font-size:32px;line-height:1.9}.approach-list article{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.approach-list article:first-child{padding-top:0}.approach-list article>span{font-family:Georgia,serif;color:var(--teal);font-size:20px}.approach-list h3{font-size:19px;margin-bottom:8px}.approach-list p{font-size:15px;color:#566375}.profile{background:#f5f7f9;padding:80px 0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.profile h2{font-size:30px}.name{font-size:26px;letter-spacing:.13em;margin-top:32px}.name span{display:block;font-size:12px;letter-spacing:.05em;color:#637182;margin-top:6px}.profile-grid>div>p:not(.eyebrow):not(.name){font-size:15px;margin-bottom:20px}.profile dl{display:grid;grid-template-columns:85px 1fr;font-size:13px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.profile dt{color:#637182}.profile dd{margin:0 0 8px}.workflow ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.workflow li{border-top:1px solid var(--line);padding-top:20px}.workflow li>span{color:var(--teal);font-family:Georgia,serif;font-size:26px}.workflow h3{font-size:18px;margin:10px 0}.workflow li p{font-size:14px;color:#566375}.contact{background:var(--navy);color:#c7d5e3;padding:75px 0}.contact .eyebrow{color:#88d5dc}.contact h2{color:white;font-size:40px;margin:15px 0 30px}.contact .wrap>div{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact p{font-size:15px}.contact .eyebrow{font-size:12px}.light{background:#fff;color:var(--navy)}footer{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:35px}footer .wordmark{font-size:26px}footer p{font-size:12px;color:#637182}.skip{position:fixed;left:10px;top:-100px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}@media(max-width:1000px){header{padding:18px 28px}.wrap{width:calc(100% - 64px)}header .company{display:none}nav{gap:20px}.featured{padding:32px;gap:30px}.work-title h3{font-size:25px}.services{gap:25px}.services h3{font-size:18px}.profile-grid,.approach{gap:40px}.other-works h3{font-size:20px}}@media(max-width:650px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}header{padding:16px 20px;min-height:77px}.wordmark{font-size:27px}nav{gap:16px;font-size:12px}nav a:first-child,nav a:nth-child(3){display:none}.nav-contact{padding:5px 12px}.hero{padding-top:35px}.small-index{display:none}.eyebrow{font-size:11px;letter-spacing:.12em}.hero h1{font-size:clamp(27px,6.7vw,43px);margin:28px 0;line-height:1.8;letter-spacing:0}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.hero-bottom .button{margin-top:28px}.button{min-width:210px;padding:15px 22px}.hero-foot{margin-top:35px;display:block}.hero-foot>div{gap:20px}.hero-foot strong{font-size:40px}.hero-foot>div>span{font-size:12px}.hero-foot p{text-align:left;margin-top:15px;font-size:12px}.section{padding-top:65px;padding-bottom:65px}.section-head{display:block;margin-bottom:30px}.section-head>p{font-size:14px;margin-top:17px}h2{font-size:27px}.services{grid-template-columns:1fr;gap:32px}.services h3{font-size:21px;margin:10px 0}.services ul{padding-top:10px}.featured{grid-template-columns:1fr;padding:26px;gap:27px}.work-title h3{margin-top:17px}.featured h4{font-size:18px}.metrics{gap:24px}.metrics strong{font-size:40px}.metrics strong span{font-size:13px}.other-works{grid-template-columns:1fr;gap:18px;margin-top:18px}.other-works article{padding:26px}.approach,.profile-grid{grid-template-columns:1fr;gap:30px}.approach h2{font-size:28px}.profile{padding:60px 0}.profile h2{font-size:27px}.name{margin-top:20px}.workflow ol{grid-template-columns:1fr 1fr;gap:28px 20px}.workflow h3{font-size:16px}.contact{padding:55px 0}.contact h2{font-size:30px}.contact .wrap>div{display:block}.contact .button{margin-top:25px}.contact p{font-size:14px}footer{display:block}footer p{margin-top:20px}footer .company{font-size:11px;padding-left:15px}footer .brand{gap:15px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Refined architectural hero */
.hero-designed{position:relative;isolation:isolate;overflow:hidden;width:calc(100% - 48px);max-width:none;margin:0 24px;background:#102b3b;color:#fff;padding:76px 5.2% 0;min-height:690px;background-image:radial-gradient(ellipse at 90% 30%,#1e5360 0,transparent 63%)}.hero-designed:before{content:"";position:absolute;left:47%;top:0;height:100%;border-left:1px solid #ffffff0b;z-index:-1}.hero-content{position:relative;z-index:2;width:57%;padding-bottom:62px}.hero-designed .eyebrow{color:#9cd6d8;font-size:11px;letter-spacing:.16em}.hero-designed h1{font-size:clamp(46px,5.3vw,76px);line-height:1.5;font-weight:500;letter-spacing:.05em;color:white;margin:32px 0 21px}.hero-designed h1 span{color:#a2eadb}.hero-lead{font-size:18px;letter-spacing:.03em;margin-bottom:15px}.hero-description{font-size:14px;line-height:2.1;color:#bed0d6}.hero-action{display:inline-flex;align-items:center;gap:55px;margin-top:32px;border-bottom:1px solid #84c1c5;padding:0 0 13px;font-size:14px;color:white}.hero-action span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #91c3c6;border-radius:50%;font-size:22px;transition:background .2s,color .2s}.hero-action:hover{color:#a2eadb}.hero-action:hover span{background:#a2eadb;color:#102b3b}.hero-canvas{position:absolute;right:-4%;top:5%;width:61%;height:85%;z-index:1;pointer-events:none}.hero-canvas svg{width:100%;height:100%;overflow:visible}.graphic-caption{position:absolute;bottom:3%;right:18%;color:#9ed4d2;font-size:10px;letter-spacing:.22em}.hero-bottomline{position:relative;z-index:2;border-top:1px solid #ffffff29;padding:22px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-bottomline>p:first-child{display:flex;align-items:center;gap:20px}.hero-bottomline strong{font:40px Georgia,serif;color:#fff}.hero-bottomline strong span{font:14px "Yu Gothic",sans-serif;margin-left:7px}.hero-bottomline>p:first-child>span{font-size:12px;color:#bed0d6}.hero-scope{font-size:12px;color:#e5eeee;line-height:1.9}.hero-scope span{color:#99b3bd}.scroll-link{font-size:10px;letter-spacing:.14em;color:#bed0d6;display:flex;align-items:center;gap:18px}.scroll-link span{font-size:20px}.signal-line{stroke-dasharray:150 1500;animation:trace-line 12s linear infinite}.planes{animation:float-plane 9s ease-in-out infinite;transform-origin:50% 50%}@keyframes trace-line{to{stroke-dashoffset:-1650}}@keyframes float-plane{50%{transform:translateY(-10px)}}@media(min-width:1500px){.hero-designed{padding-left:calc((100% - 1200px)/2);padding-right:calc((100% - 1200px)/2)}.hero-canvas{right:4%;width:53%}}@media(max-width:900px){.hero-designed{padding:55px 32px 0;min-height:620px}.hero-designed h1{font-size:51px}.hero-content{width:64%}.hero-canvas{right:-18%;width:75%;opacity:.8}.hero-description{font-size:13px}.hero-lead{font-size:15px}.hero-scope{display:none}}@media(max-width:650px){.hero-designed{width:calc(100% - 24px);margin:0 12px;padding:35px 24px 0;min-height:850px}.hero-content{width:100%;padding-bottom:305px}.hero-designed .eyebrow{font-size:9px;letter-spacing:.09em}.hero-designed h1{font-size:clamp(37px,9.7vw,60px);margin:25px 0 20px;line-height:1.5}.hero-lead{font-size:14px;line-height:1.8}.hero-description{font-size:12px}.hero-description br{display:none}.hero-action{margin-top:22px;font-size:13px}.hero-canvas{width:100%;height:340px;right:-4%;top:430px;opacity:1}.graphic-caption{bottom:0;right:10%;font-size:8px}.hero-bottomline{padding:20px 0;gap:12px}.hero-bottomline strong{font-size:33px}.hero-bottomline>p:first-child{gap:12px}.hero-bottomline>p:first-child>span{font-size:10px}.scroll-link{font-size:8px;gap:8px}}@media(prefers-reduced-motion:reduce){.signal-line,.planes{animation:none}}
.hero-designed h1{font-size:clamp(34px,3.6vw,54px);letter-spacing:0;line-height:1.7}.hero-content{width:64%}.hero-designed .hero-description{font-size:16px;max-width:580px;line-height:2.2}.hero-links{display:flex;gap:30px;flex-wrap:wrap}.hero-links .hero-action{gap:24px}.hero-canvas{right:-8%;width:57%;opacity:.85}.standpoint .services{margin-top:25px}.standpoint h2{font-size:25px}.standpoint .services article>p:not(.eyebrow){font-size:17px;margin-top:20px}.section-head>p{max-width:480px}.approach>div>p:not(.eyebrow){font-size:16px;margin-top:22px}.typical{padding-top:0}.typical article{border-top:1px solid var(--line);padding-left:0;padding-right:0}.typical h3{font-size:22px}@media(max-width:650px){.hero-designed h1{font-size:clamp(23px,5.7vw,37px)}.hero-content{width:100%}.hero-designed .hero-description{font-size:14px}.hero-description br{display:none}.hero-canvas{width:100%;right:-4%;top:425px}.hero-links{gap:20px}.hero-links .hero-action{font-size:12px;gap:12px}}
.hero-canvas{right:-4%;width:55%;top:0;height:88%;opacity:1}.graphic-caption{right:17%;bottom:0}.hero-content{width:60%}@media(max-width:900px){.hero-canvas{right:-13%;width:65%;opacity:.8}}@media(max-width:650px){.hero-canvas{width:100%;right:-3%;height:330px;top:425px;opacity:1}.hero-content{width:100%}}
.instructor-photo{display:block;width:260px;max-width:100%;height:auto;margin-top:30px;border-radius:2px}.profile .name{margin-top:18px}
    .consultation-form {
      max-width: 900px;
      margin: 48px auto 0;
      padding: 48px;
      text-align: left;
      border: 1px solid rgba(20, 19, 111, 0.12);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 24px 60px rgba(20, 19, 111, 0.10);
    }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 26px 28px;
    }
    .form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
    .form-field { display: grid; gap: 10px; }
    .form-field.full { grid-column: 1 / -1; }
    .form-field > label,
    .form-field > legend {
      color: var(--navy);
      font-weight: 700;
      font-size: 15px;
    }
    .required { margin-left: 7px; color: #b23a48; font-size: 12px; }
    .optional { margin-left: 7px; color: var(--muted); font-size: 12px; font-weight: 400; }
    .consultation-form input[type="text"],
    .consultation-form input[type="email"],
    .consultation-form input[type="tel"],
    .consultation-form textarea {
      width: 100%;
      padding: 14px 16px;
      border: 1px solid rgba(20, 19, 111, 0.22);
      border-radius: 10px;
      color: var(--navy);
      background: var(--white);
      font: inherit;
    }
    .consultation-form textarea { min-height: 160px; resize: vertical; }
    .consultation-form input:focus,
    .consultation-form textarea:focus {
      outline: 3px solid rgba(85, 198, 214, 0.28);
      border-color: var(--aqua-deep);
    }
    .choice-group {
      margin: 0;
      padding: 0;
      border: 0;
    }
    .choices {
      margin-top: 12px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 18px;
    }
    .choices.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .choice {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      color: #41466f;
      font-size: 14px;
      line-height: 1.55;
    }
    .choice input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--aqua-deep); }
    .form-submit { margin-top: 34px; text-align: center; }
    .form-submit .button { border: 0; cursor: pointer; }
    .form-assurance { margin-top: 18px !important; font-size: 13px; }
    .confirm-modal {
      width: min(calc(100% - 32px), 720px);
      max-height: min(86vh, 820px);
      padding: 0;
      overflow: hidden;
      border: 0;
      border-radius: 22px;
      color: var(--navy);
      background: var(--white);
      box-shadow: 0 30px 90px rgba(20, 19, 111, 0.28);
    }
    .confirm-modal::backdrop { background: rgba(13, 18, 65, 0.60); backdrop-filter: blur(5px); }
    .confirm-inner { max-height: min(86vh, 820px); padding: 38px; overflow: auto; }
    .confirm-inner h3 { margin-bottom: 10px; font-size: 28px; }
    .confirm-lead { margin: 0 0 26px !important; color: var(--muted); }
    .confirm-list { margin: 0; border-top: 1px solid var(--line); }
    .confirm-row {
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 18px;
      padding: 15px 0;
      border-bottom: 1px solid var(--line);
    }
    .confirm-row dt { color: var(--muted); font-size: 13px; }
    .confirm-row dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
    .confirm-actions { margin-top: 28px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
    .confirm-actions .button { border: 0; cursor: pointer; }
    .form-status { min-height: 24px; margin: 18px 0 0 !important; text-align: center; font-size: 14px; }
    .form-status.error { color: #a42f3c; }
    .completion-panel {
      max-width: 760px;
      margin: 48px auto 0;
      padding: 54px 30px;
      border: 1px solid rgba(20, 19, 111, 0.12);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 24px 60px rgba(20, 19, 111, 0.10);
    }
    .completion-panel h3 { margin-bottom: 14px; font-size: 30px; }

:root{--white:#fff;--muted:#5a6677;--aqua-deep:#087c89}.original-logo{height:53px;width:46px;object-fit:contain;display:block}.contact .wrap>div{display:block}.consultation-form{color:var(--ink);border-radius:8px}.completion-panel{color:var(--ink)}.contact .completion-panel .eyebrow{color:var(--teal)}.completion-panel[hidden]{display:none}.confirm-modal .button.secondary{background:#edf2f4;color:var(--navy)}.consultation-form .button{justify-content:center;font:inherit}.form-assurance{color:var(--muted)}.confirm-modal{border-radius:8px}.contact .choices{display:grid}.profile-grid{align-items:start}@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-grid h2{font-size:28px}.form-grid{grid-template-columns:1fr}.choices,.choices.compact{grid-template-columns:1fr 1fr}.consultation-form{padding:28px 22px}.confirm-row{grid-template-columns:1fr;gap:5px}.confirm-inner{padding:24px}.confirm-actions .button{min-width:0}}@media(max-width:420px){.choices,.choices.compact{grid-template-columns:1fr}}
[hidden]{display:none!important}
@media(max-width:650px){.hero-designed{display:flex;flex-direction:column;min-height:0;padding:32px 22px 0}.hero-content{order:1;width:100%;padding-bottom:0}.hero-canvas{order:2;position:relative;top:auto;right:auto;width:100%;height:auto;aspect-ratio:800/780;margin:22px 0 16px;flex:none}.hero-canvas svg{display:block;width:100%;height:auto}.graphic-caption{position:static;display:block;text-align:center;font-size:8px;letter-spacing:.14em;margin-top:-8px}.hero-bottomline{order:3;width:100%;margin-top:0;flex-wrap:wrap;padding:22px 0}.hero-bottomline>p:first-child{flex-wrap:wrap;gap:8px 14px}.hero-designed .hero-description{line-height:2}.hero-links{gap:18px}.hero-links .hero-action{gap:10px}.hero-designed:before{display:none}}
