/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.table{display:table}}:root{--ink:#172630;--muted:#566773;--blue:#123f63;--blue-dark:#0e334f;--blue-2:#2b638a;--pale-blue:#eaf2f7;--surface:#f4f6f7;--paper:#fff;--line:#d4dde3;--line-dark:#abb8c1;--lime:#bfcc47}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:17px;line-height:1.75;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,100% - 56px);margin:0 auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #d4dde3f2;height:78px;position:sticky;top:0}.header-inner{align-items:center;width:min(1360px,100% - 48px);height:100%;margin:0 auto;display:flex}.brand{align-items:center;gap:12px;margin-right:auto;display:inline-flex}.brand-mark{border:1px solid var(--blue);width:38px;height:38px;color:var(--blue);letter-spacing:.08em;place-items:center;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.015em;font-size:17px;line-height:1.15}.brand small{color:#72808a;letter-spacing:.14em;margin-top:4px;font:650 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.desktop-nav{align-items:center;gap:24px;margin-right:28px;display:flex}.desktop-nav a{color:#354652;white-space:nowrap;border-bottom:1px solid #0000;padding:7px 0;font-size:14px;font-weight:650}.desktop-nav a:hover,.desktop-nav a:focus-visible{border-bottom-color:var(--blue);color:var(--blue)}.header-cta{background:var(--blue);color:#fff;justify-content:space-between;align-items:center;gap:20px;min-width:210px;min-height:48px;padding:12px 17px;font-size:14px;font-weight:700;transition:background-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;color:var(--blue);letter-spacing:.05em;font-size:13px;font-weight:750;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.hero{border-bottom:1px solid var(--line);background:#fbfcfc;position:relative;overflow:hidden}.hero-grid{opacity:.55;background-image:linear-gradient(#123f630b 1px,#0000 1px),linear-gradient(90deg,#123f630b 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 45% 100%);mask-image:linear-gradient(90deg,#0000 0,#000 45% 100%)}.hero-layout{grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);align-items:center;gap:60px;min-height:720px;padding-top:78px;padding-bottom:86px;display:grid;position:relative}.hero-copy,.hero-visual{min-width:0;max-width:100%}.eyebrow{color:var(--blue-2);letter-spacing:.06em;align-items:center;gap:10px;margin:0 0 24px;font-size:13px;font-weight:750;display:inline-flex}.eyebrow:before{background:var(--blue-2);content:"";width:22px;height:1px}.hero h1{color:#182a36;letter-spacing:-.045em;margin:0;font-size:clamp(38px,3.7vw,49px);font-weight:680;line-height:1.42}.hero-line{white-space:nowrap;display:block}.hero h1 em{color:var(--blue);font-style:normal}.hero-lead{max-width:690px;margin-top:29px}.hero-lead p{color:#485b68;margin:0;font-size:17px;line-height:1.78}.hero-lead p+p{margin-top:13px}.hero-scope-note{border-left:2px solid var(--blue-2);color:#5a6e7a;max-width:690px;margin:20px 0 0;padding-left:15px;font-size:15px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid var(--blue);justify-content:space-between;align-items:center;gap:26px;min-width:234px;min-height:56px;padding:15px 20px;font-size:15px;font-weight:750;line-height:1.35;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.button-primary{background:var(--blue);color:#fff}.button-primary:focus-visible{background:var(--blue-dark)}.button-secondary{color:var(--blue);background:#ffffffe0}.button-secondary:focus-visible{background:var(--pale-blue)}.hero-note{color:#556873;align-items:center;margin:22px 0 0;font-size:15px;font-weight:650;display:inline-flex}.hero-note span{color:var(--lime);margin-right:9px;font-size:10px}.hero-visual{background:#fff;border:1px solid #b8c6cf;position:relative;overflow:hidden;box-shadow:18px 20px #123f630e}.hero-visual:before{z-index:1;pointer-events:none;content:"";border:10px solid #f4f7f8b8;position:absolute;inset:0}.hero-visual img{aspect-ratio:1.54;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.summary-band{background:var(--blue);color:#fff}.summary-grid{grid-template-columns:repeat(4,1fr);display:grid}.summary-item{border-left:1px solid #fff3;min-height:144px;padding:29px 26px 26px}.summary-item:last-child{border-right:1px solid #fff3}.summary-item strong{color:#fff;letter-spacing:-.025em;font-size:clamp(22px,2.1vw,30px);line-height:1.35;display:block}.summary-item p{color:#d9e4eb;margin:11px 0 0;font-size:15px;line-height:1.5}.section{padding:110px 0}.consult-section,.cases-section,.included-section,.flow-section,.profile-section,.faq-section,.contact-section{background:#fff}.services-section,.pricing-section,.works-section,.request-section{background:var(--surface)}.section-heading{margin-bottom:48px}.heading-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.section-label{color:var(--blue-2);letter-spacing:.06em;align-items:center;gap:11px;margin:0 0 15px;font-size:clamp(15px,1.25vw,17px);font-weight:750;display:flex}.section-label span{border:1px solid var(--blue-2);place-items:center;width:28px;height:28px;font-size:10px;display:grid}.section-heading h2,.profile-title h2,.faq-title h2{color:#1a2c38;letter-spacing:-.035em;margin:0;font-size:clamp(32px,3.2vw,46px);line-height:1.47}.heading-split>p{max-width:720px;color:var(--muted);margin:0;font-size:17px;line-height:1.75}.consult-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.consult-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:174px;padding:26px 27px;transition:background-color .18s,box-shadow .18s;position:relative}.card-number{color:#788792;font-size:12px;font-weight:700}.consult-card h3{max-width:310px;margin:42px 0 0;font-size:17px;font-weight:680;line-height:1.68}.service-list{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);display:grid}.service-card{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:#fff;flex-direction:column;padding:35px 36px 38px;transition:background-color .18s,box-shadow .18s;display:flex}.service-number{border:1px solid var(--blue-2);width:42px;height:42px;color:var(--blue);place-items:center;font-size:12px;font-weight:750;display:grid}.service-card h3{color:#1a2b38;letter-spacing:-.025em;margin:35px 0 0;font-size:28px;line-height:1.45}.service-card h3 small{color:#637782;letter-spacing:.02em;margin-top:8px;font-size:15px;font-weight:650;display:block}.service-card>p{min-height:174px;color:var(--muted);margin:20px 0 29px;font-size:16px;line-height:1.78}.service-detail h4,.service-excluded h4,.service-drawings h4{color:var(--blue);margin:0 0 10px;font-size:15px}.service-card ul,.case-panel ul,.scope-column ul{margin:0;padding:0;list-style:none}.service-detail ul{grid-template-columns:minmax(0,1fr);display:grid}.service-card li{border-top:1px solid var(--line);color:#394b57;padding:13px 3px 13px 20px;font-size:15px;line-height:1.55;position:relative}.service-card li:last-child{border-bottom:1px solid var(--line)}.service-card li:before{background:var(--blue-2);content:"";width:6px;height:6px;position:absolute;top:21px;left:2px}.service-excluded,.service-drawings{border:1px solid var(--line);background:var(--surface);margin-top:25px;padding:19px 20px}.service-excluded p,.service-drawings p{color:#536671;margin:0;font-size:15px;line-height:1.75}.drawing-list{flex-wrap:wrap;align-items:baseline;gap:2px 0;display:flex}.drawing-list span{white-space:nowrap}.drawing-list b{margin:0 .2em;font-weight:400}.service-excluded{border-left:3px solid #8a9aa4}.service-price{justify-content:space-between;align-items:center;gap:20px;padding-top:27px;display:flex;min-height:auto!important;color:var(--blue)!important;margin:auto 0 0!important}.service-price span{color:#687983;font-size:14px;font-weight:650}.service-price strong{font-size:18px}.scope-comparison-block{margin-top:58px}.scope-comparison-head{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:7px;margin-bottom:21px;display:flex}.scope-comparison-head p{color:var(--blue-2);margin:0;font-size:13px;font-weight:750}.scope-comparison-head h3{color:#1b2f3c;margin:0;font-size:25px}.scope-comparison-wrap{border:1px solid var(--line-dark);background:#fff;overflow-x:auto}.scope-comparison{border-collapse:collapse;table-layout:fixed;width:100%}.scope-comparison th,.scope-comparison td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.scope-comparison tr>:last-child{border-right:0}.scope-comparison tbody tr:last-child>*{border-bottom:0}.scope-comparison thead th{color:#263b48;background:#e7edf0;padding:20px 22px;font-size:15px;line-height:1.55}.scope-comparison thead th:first-child{text-align:left;background:#dce5ea;width:42%}.scope-comparison tbody th{color:#3c505c;text-align:left;background:#f8fafb;padding:18px 22px;font-size:16px}.scope-comparison tbody td{color:var(--blue);text-align:center;padding:18px;font-size:22px;font-weight:750}.comparison-note{border:1px solid var(--line-dark);color:#435965;background:#edf3f6;border-top:0;margin:0;padding:21px 24px;font-size:16px;font-weight:650;line-height:1.75}.case-panels,.scope-columns{border:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);display:grid}.case-panel{padding:36px 38px 38px}.case-panel+.case-panel,.scope-column+.scope-column{border-left:1px solid var(--line-dark)}.case-main{background:var(--blue);color:#fff}.case-panel-head{align-items:center;gap:13px;margin-bottom:27px;display:flex}.case-panel-head h3{margin:0;font-size:24px}.status-dot{background:var(--lime);flex:none;width:9px;height:9px}.status-dot-outline{border:1px solid var(--blue-2);background:0 0}.case-panel li{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;min-height:57px;font-size:16px;font-weight:650;display:grid}.case-panel li:last-child{border-bottom:1px solid var(--line)}.case-main li{border-color:#fff3}.case-panel li b{color:var(--blue-2);font-size:14px}.case-main li b{color:var(--lime)}.scope-note,.price-note{border:1px solid var(--line);color:#556773;background:#fff;margin:27px 0 0;padding:20px 24px 20px 54px;font-size:15px;line-height:1.7;position:relative}.scope-note:before,.price-note:before{border:1px solid var(--blue-2);width:19px;height:19px;color:var(--blue-2);content:"i";place-items:center;font:750 11px/1 serif;display:grid;position:absolute;top:22px;left:22px}.price-note p{margin:0}.price-note p+p{margin-top:8px}.price-highlights{border:1px solid var(--line-dark);background:#fff;grid-template-columns:repeat(2,1fr);margin-bottom:24px;display:grid}.price-highlights article{grid-template-columns:1fr auto;align-items:center;gap:6px 24px;padding:30px 34px;display:grid}.price-highlights article+article{border-left:1px solid var(--line-dark)}.price-highlights span{color:#405763;font-size:18px;font-weight:750}.price-highlights strong{color:var(--blue);letter-spacing:-.035em;grid-area:1/2/3;font-size:clamp(27px,3vw,38px)}.price-highlights small{color:#6d7d87;font-size:14px}.tax-note{color:#455965;justify-content:flex-end;margin:0 0 14px;font-size:15px;font-weight:750;display:flex}.pricing-table-wrap{border:1px solid var(--line-dark);background:#fff}.pricing-table{border-collapse:collapse;table-layout:fixed;width:100%}.pricing-table th,.pricing-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.pricing-table tr>:last-child{border-right:0}.pricing-table tbody tr:last-child>*{border-bottom:0}.pricing-table thead th{color:#243946;background:#e7edf0;height:82px;padding:18px 24px;font-size:16px}.pricing-table thead th:first-child{background:#dce5ea}.pricing-table tbody th{width:38%;color:var(--blue);background:#f0f4f6;padding:25px 24px;font-size:18px}.pricing-table tbody td{color:#1d3444;letter-spacing:-.02em;padding:27px 24px;font-size:20px;font-weight:750}.pricing-table .price-consult{color:#586b77;font-size:17px}.calculation-only-price{border:1px solid var(--line-dark);background:#fff;grid-template-columns:minmax(280px,.9fr) 1.1fr;align-items:center;gap:35px;margin-top:24px;padding:27px 31px;display:grid}.calculation-only-price>div{flex-direction:column;gap:7px;display:flex}.calculation-only-price span{color:#415762;font-size:16px;font-weight:750}.calculation-only-price strong{color:var(--blue);font-size:22px}.calculation-only-price p{color:#586a75;margin:0;font-size:16px;line-height:1.72}.pricing-cta{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);justify-content:space-between;align-items:center;gap:28px;margin-top:24px;padding:24px 28px;display:flex}.pricing-cta p{color:#435965;margin:0;font-size:16px;font-weight:650}.pricing-cta .button{flex:none;min-width:240px}.scope-column{padding:34px 38px 38px}.standard-column{background:#f7f9fa}.scope-column-head{min-height:110px}.scope-column-head h3{margin:0;font-size:23px}.scope-column-head p{color:var(--muted);margin:10px 0 0;font-size:15px}.scope-column li{border-top:1px solid var(--line);color:#394b57;align-items:center;gap:15px;min-height:57px;font-size:16px;font-weight:650;display:flex}.scope-column li:last-child{border-bottom:1px solid var(--line)}.scope-column li span{background:var(--blue);color:#fff;flex:none;place-items:center;width:23px;height:23px;font-size:11px;display:grid}.extra-column li span{border:1px solid var(--blue-2);color:var(--blue-2);background:0 0}.works-list{gap:22px;display:grid}.work-card{border:1px solid var(--line-dark);background:#fff;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);min-height:360px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.work-visual{border-right:1px solid var(--line-dark);background:#f7f9fa;min-height:360px;position:relative;overflow:hidden}.work-visual:after{pointer-events:none;content:"";border:9px solid #e8eff39e;position:absolute;inset:0}.work-visual img{object-fit:contain;object-position:center;width:100%;height:100%;min-height:360px;display:block}.work-code{z-index:2;color:var(--blue);background:#ffffffeb;border:1px solid #b8c6cf;padding:6px 9px;font-size:12px;font-weight:750;position:absolute;top:17px;left:18px}.work-info{padding:38px 42px}.work-info h3{color:#1b2e3c;margin:0;font-size:27px;line-height:1.45}.work-specs{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.work-specs span{border:1px solid var(--line);color:#4a5e6a;background:#fafbfb;padding:7px 12px;font-size:14px;line-height:1.4}.work-info dl{margin:27px 0 0}.work-info dl>div{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:14px;padding:15px 0;display:grid}.work-info dl>div:last-child{border-bottom:1px solid var(--line)}.work-info dt{color:#657681;font-size:14px;font-weight:750}.work-info dd{color:#3d505c;margin:0;font-size:16px;line-height:1.72}.confidential-note{color:#62737e;margin:24px 0 0;font-size:15px}.flow-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.flow-grid li{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:244px;padding:26px 25px}.flow-number{color:var(--blue-2);justify-content:space-between;align-items:center;display:flex}.flow-number span{font-size:19px;font-weight:750}.flow-number i{color:#98a6af;font-size:16px;font-style:normal;transform:translate(34px)}.flow-grid li:nth-child(3) .flow-number i{display:none}.flow-grid h3{margin:49px 0 0;font-size:19px;line-height:1.45}.flow-grid p{color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.7}.flow-review-note{border:1px solid var(--line-dark);background:#edf3f6;grid-template-columns:245px 1fr;gap:30px;margin-top:24px;padding:23px 25px;display:grid}.flow-review-note strong{color:var(--blue);font-size:16px}.flow-review-note p{color:#4d626d;margin:0;font-size:16px;line-height:1.72}.flow-materials{border:1px solid var(--line);background:var(--surface);grid-template-columns:auto 1fr;align-items:center;gap:28px;margin-top:24px;padding:23px 25px;display:grid}.flow-materials>strong{color:var(--blue);white-space:nowrap;font-size:16px}.flow-materials>div{flex-wrap:wrap;gap:10px;display:flex}.flow-materials>div span{color:#445965;background:#fff;border:1px solid #bdc9d0;padding:9px 14px;font-size:15px;font-weight:650;line-height:1.3}.philosophy-section{background:var(--blue);color:#fff;padding:112px 0;position:relative;overflow:hidden}.philosophy-section:before{opacity:.12;content:"";background-image:linear-gradient(#ffffff4d 1px,#0000 1px),linear-gradient(90deg,#ffffff4d 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0}.philosophy-layout{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:90px;display:grid;position:relative}.philosophy-kicker{color:#c6d6e0;margin:0;font-size:15px;font-weight:750}.philosophy-copy h2{letter-spacing:-.035em;margin:22px 0 0;font-size:clamp(31px,3.2vw,45px);line-height:1.55}.philosophy-copy>p:not(.philosophy-kicker){color:#d9e4eb;margin:24px 0 0;font-size:17px;line-height:1.82}.philosophy-diagram{aspect-ratio:1;place-items:center;width:min(360px,100%);margin-left:auto;display:grid;position:relative}.philosophy-diagram:before,.philosophy-diagram:after{content:"";border:1px solid #ffffff4d;border-radius:50%;position:absolute;inset:13%}.philosophy-diagram:after{border-style:dashed;inset:28%}.philosophy-diagram>div{z-index:2;background:var(--blue);border:1px solid #ffffff9e;place-items:center;width:96px;height:96px;display:grid;position:absolute}.philosophy-diagram>div:first-child{top:2%;left:37%}.philosophy-diagram>div:nth-child(2){bottom:12%;right:3%}.philosophy-diagram>div:nth-child(3){bottom:12%;left:3%}.philosophy-diagram>div strong{font-size:17px}.philosophy-diagram>b{z-index:3;background:var(--lime);width:70px;height:70px;color:var(--blue);border-radius:50%;place-items:center;font-size:15px;display:grid}.profile-layout{grid-template-columns:.62fr 1.38fr;gap:80px;display:grid}.profile-role{color:var(--blue);margin:18px 0 0;font-size:18px;font-weight:750}.profile-card{border-top:2px solid var(--blue);border-bottom:1px solid var(--line-dark);grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);display:grid}.profile-visual{border-right:1px solid var(--line);background:#eef3f6;place-items:center;min-height:390px;padding:18px 14px;display:grid;position:relative;overflow:hidden}.profile-visual svg{width:100%;height:100%;min-height:354px;display:block;transform:none}.profile-grid-fill{fill:url(#profile-grid)}.profile-grid-fill+.profile-ground{fill:none;stroke:#aabac4;stroke-width:1px}#profile-grid path{fill:none;stroke:#123f6314;stroke-width:1px}.profile-wall-fill{fill:#2b638a1c;stroke:#2b638a;stroke-width:1.4px}.profile-frame-lines{fill:none;stroke:#123f63;stroke-linecap:square;stroke-linejoin:round;stroke-width:2.2px}.profile-brace-lines{fill:none;stroke:#2b638a;stroke-width:1.5px}.profile-joints{fill:#bfcc47;stroke:#123f63;stroke-width:1px}.profile-bio{padding:36px 40px}.profile-bio>p{color:#465966;margin:0;font-size:17px;line-height:1.78}.profile-bio dl{margin:27px 0 0}.profile-bio dl>div{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:14px;padding:15px 0;display:grid}.profile-bio dl>div:last-child{border-bottom:1px solid var(--line)}.profile-bio dt{color:#647580;font-size:14px;font-weight:750}.profile-bio dd{color:#344b59;margin:0;font-size:16px;line-height:1.7}.profile-bio dd strong{color:var(--blue);font-size:18px}.request-conditions-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);display:grid}.request-conditions-grid article{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:#fff;min-height:290px;padding:31px 30px 34px;transition:background-color .18s,box-shadow .18s}.request-conditions-grid h3{color:#263c49;margin:0;font-size:20px;line-height:1.55}.request-conditions-grid p{color:#536671;margin:22px 0 0;font-size:16px;line-height:1.78}.faq-layout{grid-template-columns:.58fr 1.42fr;align-items:start;gap:80px;display:grid}.faq-title{position:sticky;top:116px}.faq-title>p:last-child{color:var(--muted);margin:23px 0 0;font-size:16px;line-height:1.75}.faq-list{border-top:1px solid var(--line-dark);interpolate-size:allow-keywords}.faq-list details{border-bottom:1px solid var(--line-dark)}.faq-list details::details-content{opacity:0;height:0;transition:height .26s ease, opacity .2s ease, content-visibility .26s allow-discrete;overflow:hidden}.faq-list details[open]::details-content{opacity:1;height:auto}.faq-list summary{cursor:pointer;grid-template-columns:58px 1fr 30px;align-items:center;min-height:88px;list-style:none;transition:background-color .18s;display:grid}.faq-list summary::-webkit-details-marker{display:none}.faq-no{color:var(--blue-2);font-size:13px;font-weight:750}.faq-list summary strong{padding:18px 0;font-size:17px;line-height:1.55}.faq-list summary i{border:1px solid var(--blue-2);width:28px;height:28px;position:relative}.faq-list summary i:before,.faq-list summary i:after{background:var(--blue-2);content:"";width:10px;height:1px;position:absolute;top:13px;left:8px}.faq-list summary i:after{transition:transform .24s;transform:rotate(90deg)}.faq-list details[open] summary i:after{transform:rotate(0)}.faq-answer{grid-template-columns:58px 1fr;padding:0 45px 29px 0;display:grid}.faq-answer>span{color:#8e9d22;font-size:16px;font-weight:750}.faq-answer p{color:#4d606c;margin:0;font-size:16px;line-height:1.78}.faq-answer-body p+p{margin-top:12px}.final-cta{background:var(--blue);color:#fff;text-align:center;padding:102px 0;position:relative;overflow:hidden}.final-cta-grid{opacity:.13;background-image:linear-gradient(#ffffff59 1px,#0000 1px),linear-gradient(90deg,#ffffff59 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0}.final-cta-inner{position:relative}.final-cta h2{letter-spacing:-.04em;margin:0;font-size:clamp(35px,4.1vw,55px);line-height:1.45}.final-cta p{color:#d8e3ea;margin:23px 0 0;font-size:17px;line-height:1.7}.final-cta p+p{margin-top:8px}.button-light{width:270px;color:var(--blue);text-align:left;background:#fff;border-color:#fff;margin:34px auto 0}.button-light:focus-visible{background:var(--pale-blue)}.inquiry-form{border-top:2px solid var(--blue);box-sizing:border-box;width:100%;min-width:0;max-width:100%}.form-section{border-bottom:1px solid var(--line-dark);box-sizing:border-box;grid-template-columns:235px minmax(0,1fr);gap:48px;width:100%;min-width:0;max-width:100%;padding:49px 0;display:grid}.form-section>*{min-width:0;max-width:100%}.form-section-title{align-items:flex-start;gap:15px;min-width:0;display:flex}.form-section-title>span{border:1px solid var(--blue-2);width:34px;height:34px;color:var(--blue-2);flex:none;place-items:center;font-size:12px;font-weight:750;display:grid}.form-section-title h3{margin:2px 0 0;font-size:19px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px;width:100%;min-width:0;max-width:100%;display:grid}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-wide{grid-template-columns:minmax(0,1fr);gap:32px;width:100%;min-width:0;max-width:100%;display:grid}.form-grid>*,.form-wide>*{min-width:0;max-width:100%}.form-field{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.form-field>span,.form-field legend{color:#334956;margin-bottom:11px;font-size:16px;font-weight:750;display:block}.form-field b{background:var(--blue);color:#fff;vertical-align:1px;margin-left:7px;padding:3px 6px;font-size:11px;font-weight:750;display:inline-block}.form-field>span small,.form-field legend small{color:#657681;margin-left:7px;font-size:13px;font-weight:600}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field select,.form-field textarea{border:1px solid var(--line-dark);box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:var(--ink);background:#fbfcfc;border-radius:0;outline:none;font-size:16px;transition:border-color .15s,box-shadow .15s;display:block}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field select{height:58px;padding:0 16px}.form-field>.date-input-wrap{box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;color:inherit;font-size:inherit;font-weight:inherit;margin:0;display:block}.date-input-wrap input[type=date]{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;margin:0;display:block}.form-field textarea{resize:vertical;min-height:190px;padding:15px 16px;line-height:1.7}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.checkbox-field:focus{border-color:var(--blue-2);box-shadow:0 0 0 3px #2b638a1a}.input-unit{width:100%;min-width:0;max-width:100%;position:relative}.input-unit input{padding-right:49px!important}.input-unit>span{color:#566975;font-size:15px;position:absolute;top:17px;right:17px}.checkbox-field{border:0;outline:none;margin:0;padding:0}.checkbox-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);display:grid}.checkbox-grid label{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);cursor:pointer;min-height:62px;position:relative}.checkbox-grid input{opacity:0;width:1px;height:1px;position:absolute}.checkbox-grid span{color:#425661;align-items:center;min-height:61px;padding:11px 13px 11px 44px;font-size:15px;font-weight:650;line-height:1.45;display:flex}.checkbox-grid span:before{border:1px solid var(--line-dark);color:#fff;content:"";place-items:center;width:20px;height:20px;font-size:11px;display:grid;position:absolute;top:20px;left:15px}.checkbox-grid input:checked+span{background:var(--pale-blue);color:var(--blue)}.checkbox-grid input:checked+span:before{border-color:var(--blue);background:var(--blue);content:"✓"}.service-choice-field{border:0;margin:0;padding:0}.service-choice-grid{border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;max-width:100%;display:grid}.service-choice{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);cursor:pointer;display:block;position:relative}.service-choice input{opacity:0;width:1px;height:1px;position:absolute}.service-choice>span{background:#fff;flex-direction:column;gap:8px;min-height:132px;padding:23px 19px 20px 52px;display:flex;position:relative}.service-choice>span:before{border:1px solid var(--line-dark);content:"";background:#fff;border-radius:50%;width:20px;height:20px;position:absolute;top:25px;left:19px}.service-choice strong{color:#344b58;font-size:16px;line-height:1.55}.service-choice small{color:#657681;font-size:14px;line-height:1.6}.service-choice input:checked+span{background:var(--pale-blue)}.service-choice input:checked+span:before{border:6px solid var(--blue)}.service-choice input:focus-visible+span{outline-offset:-3px;outline:3px solid #2b638a29}.deadline-field{width:min(100%,460px);min-width:0;max-width:100%;inline-size:min(100%,460px);min-inline-size:0;max-inline-size:100%}.deadline-field>span:first-child{max-width:100%;white-space:normal;overflow-wrap:anywhere}.form-field>small{color:#657681;margin-top:10px;font-size:14px;line-height:1.65;display:block}.file-field{border:1px dashed var(--line-dark);background:var(--surface);padding:25px 27px}.file-field input{box-sizing:border-box;color:#4f626e;width:100%;min-width:0;max-width:100%;font-size:15px}.file-field input::file-selector-button{border:1px solid var(--blue);color:var(--blue);cursor:pointer;background:#fff;border-radius:0;margin-right:17px;padding:12px 16px;font-size:15px;font-weight:750}.field-error{color:#a43636;margin:10px 0 0;font-size:14px;font-weight:650}.form-submit{text-align:center;padding:41px 0 0}.privacy-check{color:#485c68;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.privacy-check a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.privacy-check input{width:18px;height:18px;accent-color:var(--blue)}.form-submit button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:0;min-width:320px;min-height:58px;margin-top:25px;padding:15px 24px;font-size:16px;font-weight:750;transition:background-color .18s,transform .18s,box-shadow .18s}.form-submit button:focus-visible{background:var(--blue-dark)}.form-submit>p{color:#5f717c;margin:13px 0 0;font-size:14px;line-height:1.6}.form-submit>p a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.form-status{font-weight:700;color:var(--blue)!important}.site-footer{color:#fff;background:#122b3d;padding:66px 0 0}.footer-main{grid-template-columns:1fr 1.4fr;gap:92px;padding-bottom:60px;display:grid}.brand-light .brand-mark{color:#d9e4eb;border-color:#b7c8d4}.brand-light strong{color:#fff}.brand-light small{color:#9db0be}.footer-brand>p{color:#c3d0d8;margin:27px 0 0;font-size:15px;line-height:1.75}.footer-nav{grid-template-columns:repeat(3,1fr);gap:38px;display:grid}.footer-nav>div{flex-direction:column;display:flex}.footer-nav span{color:#91a7b6;margin-bottom:18px;font-size:13px;font-weight:750}.footer-nav a{color:#d8e2e8;margin-bottom:13px;font-size:14px;line-height:1.5}.footer-nav a:hover,.footer-nav a:focus-visible{color:#fff;text-underline-offset:4px;text-decoration:underline}.footer-bottom{color:#8ea4b3;letter-spacing:.07em;border-top:1px solid #ffffff26;justify-content:space-between;padding-top:21px;padding-bottom:21px;font-size:11px;display:flex}.privacy-back{color:var(--blue);flex-direction:row-reverse;align-items:center;gap:17px;font-size:14px;font-weight:750;display:inline-flex}.privacy-hero{border-bottom:1px solid var(--line-dark);background:#f5f8f9;padding:91px 0 83px;position:relative;overflow:hidden}.privacy-grid{opacity:.6;background-image:linear-gradient(#123f630e 1px,#0000 1px),linear-gradient(90deg,#123f630e 1px,#0000 1px);background-size:50px 50px;position:absolute;inset:0}.privacy-hero .container{position:relative}.privacy-hero p{color:var(--blue-2);letter-spacing:.08em;margin:0;font-size:12px;font-weight:750}.privacy-hero h1{color:#1b2d3a;letter-spacing:-.04em;margin:20px 0 0;font-size:clamp(36px,4vw,53px)}.privacy-hero .container>span{color:#5d6f7a;margin-top:15px;font-size:16px;display:block}.privacy-content{padding:86px 0 110px}.privacy-layout{grid-template-columns:240px 1fr;align-items:start;gap:88px;display:grid}.privacy-layout aside{border-top:2px solid var(--blue);border-bottom:1px solid var(--line-dark);padding:22px 0;position:sticky;top:112px}.privacy-layout aside span{color:var(--blue-2);font-size:11px;font-weight:750;display:block}.privacy-layout aside strong{margin-top:9px;font-size:14px;display:block}.privacy-layout aside p{color:#687984;margin:23px 0 0;font-size:13px;line-height:1.7}.privacy-layout article{max-width:790px}.privacy-intro{color:#455965;margin:0 0 41px;font-size:17px;line-height:1.78}.privacy-section{border-top:1px solid var(--line-dark);grid-template-columns:55px 1fr;gap:20px;padding:31px 0;display:grid}.privacy-section>span{color:var(--blue-2);font-size:13px;font-weight:750}.privacy-section h2{margin:0;font-size:20px}.privacy-section p{color:#4f626e;margin:13px 0 0;font-size:16px;line-height:1.78}.privacy-contact{border-bottom:1px solid var(--line-dark)}.privacy-contact a{border-bottom:1px solid var(--blue);color:var(--blue);gap:28px;margin-top:19px;padding-bottom:5px;font-size:15px;font-weight:750;display:inline-flex}.privacy-contact a b{font-weight:400}.privacy-footer{color:#8fa5b4;background:#122b3d;padding:22px 0}.privacy-footer .container{letter-spacing:.06em;justify-content:space-between;font-size:11px;display:flex}@media (width<=1120px){.desktop-nav{display:none}.mobile-menu{margin-right:18px;display:block}.mobile-menu nav{z-index:70;border:1px solid var(--line-dark);background:#fff;flex-direction:column;width:220px;padding:13px;display:flex;position:absolute;top:31px;right:-10px;box-shadow:0 14px 34px #122b3d24}.mobile-menu nav a{border-bottom:1px solid var(--line);color:#314650;padding:12px 10px;font-size:15px;font-weight:650}.mobile-menu nav a:last-child{border-bottom:0}.hero-layout{grid-template-columns:1fr;gap:54px}.hero-copy{max-width:850px}.hero-visual{width:min(820px,100%);margin:0 auto}.service-list{grid-template-columns:1fr}.service-card>p{min-height:0}.work-card{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.philosophy-layout{gap:55px}.profile-layout,.faq-layout{grid-template-columns:1fr;gap:42px}.faq-title{position:static}.footer-main{grid-template-columns:1fr;gap:48px}}@media (width<=820px){.heading-split{grid-template-columns:1fr;gap:18px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(-n+2){border-bottom:1px solid #fff3}.summary-item:nth-child(2){border-right:1px solid #fff3}.consult-grid{grid-template-columns:repeat(2,1fr)}.calculation-only-price{grid-template-columns:1fr;gap:13px}.case-panels,.scope-columns{grid-template-columns:1fr}.case-panel+.case-panel,.scope-column+.scope-column{border-top:1px solid var(--line-dark);border-left:0}.work-card{grid-template-columns:1fr}.work-visual{border-right:0;border-bottom:1px solid var(--line-dark);min-height:330px}.work-visual img{min-height:330px}.flow-grid{grid-template-columns:repeat(2,1fr)}.flow-grid li:nth-child(3) .flow-number i{display:inline}.flow-grid li:nth-child(2n) .flow-number i{display:none}.philosophy-layout{grid-template-columns:1fr}.philosophy-diagram{width:min(330px,100%);margin:12px auto 0}.profile-card{grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr)}.request-conditions-grid{grid-template-columns:1fr}.request-conditions-grid article{min-height:0}.form-section{grid-template-columns:1fr;gap:27px}.footer-nav{grid-template-columns:repeat(3,1fr)}.privacy-layout{grid-template-columns:1fr;gap:39px}.privacy-layout aside{position:static}}@media (width<=640px){body{font-size:16px;line-height:1.7}.container,.header-inner{width:min(100% - 32px,1180px)}.site-header{height:68px}.brand{gap:8px}.brand-mark{width:34px;height:34px}.brand strong{font-size:15px}.brand small{display:none}.mobile-menu{margin-right:13px}.header-cta{min-width:0;min-height:44px;padding:10px 13px;font-size:13px}.header-cta span{display:none}.hero-layout{min-height:auto;padding-top:61px;padding-bottom:69px}.hero-copy,.hero-visual{width:100%;min-width:0;max-width:100%}.hero-line{white-space:normal}.eyebrow{margin-bottom:18px;font-size:12px}.hero h1{font-size:clamp(25px,7.6vw,34px);line-height:1.48}.hero-lead{margin-top:23px}.hero-lead p{font-size:16px;line-height:1.72}.hero-scope-note{margin-top:17px;font-size:14px;line-height:1.65}.hero-actions{flex-direction:column;margin-top:28px}.button{width:100%;min-width:0;min-height:58px;font-size:16px}.hero-note{font-size:14px}.hero-visual{box-shadow:9px 11px #123f630e}.hero-visual img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}.summary-item{min-height:128px;padding:23px 17px}.summary-item strong{font-size:21px;line-height:1.45}.summary-item p{margin-top:7px;font-size:14px}.section{padding:78px 0}.section-heading{margin-bottom:35px}.section-label{margin-bottom:13px;font-size:13px}.section-heading h2,.profile-title h2,.faq-title h2{font-size:31px;line-height:1.45}.section-heading h2 br{display:none}.heading-split>p{font-size:16px;line-height:1.7}.consult-grid{grid-template-columns:1fr}.consult-card{min-height:135px;padding:22px}.consult-card h3{margin-top:25px;font-size:16px}.service-card,.case-panel,.scope-column{padding:27px 22px 30px}.service-card h3{margin-top:27px;font-size:24px}.service-card h3 small{font-size:14px}.service-card>p,.service-card li,.case-panel li,.scope-column li{font-size:16px}.scope-comparison-block{margin-top:43px}.scope-comparison-head{display:block}.scope-comparison-head h3{margin-top:7px;font-size:22px}.scope-comparison-wrap{background:0 0;border:0;overflow:visible}.scope-comparison,.scope-comparison tbody{display:block}.scope-comparison thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.scope-comparison tbody{gap:12px;display:grid}.scope-comparison tbody tr{border:1px solid var(--line-dark);background:#fff;grid-template-columns:repeat(2,1fr);display:grid}.scope-comparison tbody th{color:#2c4452;background:#eef3f6;border-right:0;grid-column:1/-1;padding:15px 17px;font-size:16px}.scope-comparison tbody td{border-bottom:0;min-height:96px;padding:54px 7px 13px;font-size:20px;position:relative}.scope-comparison tbody td:before{color:#657681;content:attr(data-label);text-align:center;font-size:12px;font-weight:650;line-height:1.45;position:absolute;top:13px;left:6px;right:6px}.comparison-note{border-top:1px solid var(--line-dark);padding:19px 18px;font-size:15px}.scope-note,.price-note{padding:17px 17px 17px 47px;font-size:14px}.scope-note:before,.price-note:before{top:19px;left:17px}.price-highlights{grid-template-columns:1fr}.price-highlights article{padding:23px 20px}.price-highlights article+article{border-top:1px solid var(--line-dark);border-left:0}.price-highlights span{font-size:16px}.price-highlights strong{font-size:27px}.tax-note{justify-content:flex-start;margin:0 0 12px;font-size:14px}.pricing-table-wrap{background:0 0;border:0}.pricing-table,.pricing-table tbody{display:block}.pricing-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pricing-table tbody{gap:14px;display:grid}.pricing-table tbody tr{border:1px solid var(--line-dark);background:#fff;grid-template-columns:repeat(2,1fr);display:grid}.pricing-table tbody th{background:var(--blue);color:#fff;border-right:0;grid-column:1/-1;width:auto;padding:15px 17px;font-size:20px}.pricing-table tbody td{text-align:center;white-space:nowrap;border-bottom:0;min-width:0;padding:41px 8px 15px;font-size:16px;display:block;position:relative}.pricing-table tbody td:before{color:#667782;content:attr(data-label);text-align:center;font-size:12px;font-weight:650;position:absolute;top:12px;left:4px;right:4px}.pricing-table .price-consult{font-size:15px}.calculation-only-price{padding:22px 20px}.calculation-only-price strong{font-size:20px}.calculation-only-price p{font-size:15px}.pricing-cta{flex-direction:column;align-items:stretch;padding:22px 0}.pricing-cta .button{width:100%;min-width:0}.scope-column-head{min-height:auto;margin-bottom:25px}.work-visual,.work-visual img{min-height:0}.work-visual img{aspect-ratio:1.35;object-fit:contain}.work-info{padding:27px 22px}.work-info h3{font-size:23px}.work-specs span{font-size:13px}.work-info dl>div{grid-template-columns:1fr;gap:5px}.work-info dd{font-size:16px}.flow-grid{grid-template-columns:1fr}.flow-grid li{min-height:190px;padding:24px 22px}.flow-number i{display:none!important}.flow-grid h3{margin-top:35px;font-size:19px}.flow-grid p{font-size:16px}.flow-review-note{padding:20px}.flow-review-note p{font-size:15px}.flow-materials{grid-template-columns:1fr;gap:14px;padding:20px}.flow-materials>strong{white-space:normal}.flow-materials>div span{font-size:14px}.philosophy-section{padding:79px 0}.philosophy-copy h2{font-size:29px}.philosophy-copy h2 br{display:none}.philosophy-copy>p:not(.philosophy-kicker){font-size:16px;line-height:1.75}.philosophy-diagram>div{width:84px;height:84px}.profile-card{grid-template-columns:1fr}.profile-visual{border-right:0;border-bottom:1px solid var(--line);min-height:290px;padding:14px 12px}.profile-visual svg{width:min(520px,100%);height:100%;min-height:262px;transform:none}.profile-bio{padding:27px 22px}.profile-bio>p{font-size:16px}.profile-bio dl>div{grid-template-columns:1fr;gap:5px}.profile-bio dd{font-size:16px}.request-conditions-grid{grid-template-columns:1fr}.request-conditions-grid article{min-height:0;padding:26px 22px 28px}.request-conditions-grid h3{font-size:19px}.request-conditions-grid p{margin-top:15px;font-size:16px}.faq-title>p:last-child{font-size:16px}.faq-list summary{grid-template-columns:45px 1fr 28px;min-height:82px}.faq-list summary strong{font-size:16px}.faq-answer{grid-template-columns:45px 1fr;padding-right:0}.faq-answer p{font-size:16px}.final-cta{padding:79px 0}.final-cta h2{font-size:33px}.final-cta p{font-size:16px}.form-section{grid-template-columns:minmax(0,1fr);padding:37px 0}.form-grid{grid-template-columns:minmax(0,1fr)}.form-section,.form-grid,.form-wide,.form-field,.deadline-field,.date-input-wrap{box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%}.form-field>span,.form-field legend{font-size:16px}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field select{height:60px;font-size:16px}.checkbox-grid{grid-template-columns:1fr}.checkbox-grid span{min-height:60px;font-size:16px}.service-choice-grid{grid-template-columns:minmax(0,1fr)}.service-choice>span{min-height:0;padding:20px 18px 18px 52px}.service-choice>span:before{top:22px}.service-choice strong{font-size:16px}.file-field{padding:21px 18px}.form-field>small,.file-field input,.form-submit>p{font-size:14px}.form-submit button{width:100%;min-width:0;min-height:60px;font-size:16px}.privacy-check{text-align:left;align-items:flex-start;font-size:15px}.footer-nav{grid-template-columns:1fr 1fr;gap:34px 24px}.footer-nav>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:9px;line-height:1.5}.privacy-back{font-size:13px}.privacy-hero{padding:68px 0 64px}.privacy-content{padding:63px 0 84px}.privacy-section{grid-template-columns:38px 1fr;gap:10px}.privacy-section p{font-size:16px}.privacy-footer .container{flex-direction:column;gap:9px;line-height:1.5}}@media (width<=410px){.header-cta{min-width:92px;font-size:0}.header-cta:before{content:"相談する ↓";font-size:13px}.mobile-menu{margin-right:9px}.summary-item{padding-left:13px;padding-right:13px}.summary-item strong{font-size:19px}.pricing-table tbody td{font-size:15px}}@media (hover:hover) and (pointer:fine){.button-primary:hover,.form-submit button:hover,.header-cta:hover{background-color:var(--blue-dark)}.button-secondary:hover,.button-light:hover{background-color:var(--pale-blue)}.header-cta:hover,.button:hover,.form-submit button:hover{transform:translateY(-1px);box-shadow:0 7px 16px #122b3d1f}.consult-card:hover,.service-card:hover,.request-conditions-grid article:hover{background-color:#f8fafb;box-shadow:inset 0 0 0 1px #2b638a1a}.work-card:hover{border-color:#8ea4b3;transform:translateY(-2px);box-shadow:0 10px 26px #122b3d14}.faq-list summary:hover{background-color:#f7f9fa}}@media (width<=300px){.hero-line{white-space:normal}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media (width<=640px){.service-list,.service-card{min-width:0;max-width:100%}.service-card h3{overflow-wrap:anywhere}}

/* iOS/mobile deadline field alignment fix */
@media (max-width: 640px) {
  .deadline-field,
  .deadline-field > span,
  .deadline-field .date-input-wrap,
  .deadline-field input[type="date"] {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
  }

  .deadline-field > span:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-bottom: 11px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .deadline-field > span:first-child b {
    flex: 0 0 auto;
    margin-left: 0;
  }

  .deadline-field .date-input-wrap {
    display: block;
    margin: 0;
  }

  .deadline-field input[type="date"] {
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 16px !important;
    line-height: normal !important;
  }

  .deadline-field input[type="date"]::-webkit-date-and-time-value {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 100%;
    padding: 0;
    text-align: left;
  }

  .deadline-field input[type="date"]::-webkit-datetime-edit,
  .deadline-field input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 100%;
    padding: 0;
  }

  .deadline-field input[type="date"]::-webkit-calendar-picker-indicator {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}
