@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--navy:#102d3a;--blue:#137d9a;--paper:#f6f7f5;--line:#dbe2e3;--muted:#63767e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0f0}.logo{width:204px;height:auto}nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:600}nav a:not(.navcta){position:relative}nav a:not(.navcta):after{content:'';height:1px;background:var(--blue);position:absolute;bottom:-9px;left:0;width:0;transition:.2s}nav a:hover:after{width:100%}.navcta{padding:14px 23px;background:var(--navy);color:white}.menu{display:none}.hero{height:calc(100svh - 96px);min-height:660px;max-height:920px;position:relative;overflow:hidden;margin:0 24px;background:#d3d8d3}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;animation:zoom 16s ease-out forwards}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,40,.68),rgba(7,30,40,.05) 85%)}.hero-copy{position:absolute;z-index:2;left:7%;top:21%;color:#fff}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:600;text-transform:uppercase}.hero h1{font-family:'Noto Serif JP',serif;font-weight:500;line-height:1.65;font-size:clamp(42px,4.5vw,72px);letter-spacing:.07em;margin:30px 0}.hero-copy>p{font-size:14px;line-height:2.3;letter-spacing:.08em}.hero-foot{position:absolute;bottom:38px;left:7%;right:5%;z-index:2;color:#fff;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em}.hero-foot .scroll:before{content:'';height:46px;width:1px;display:inline-block;background:white;margin-right:16px;vertical-align:middle}.section{padding:110px 8%;max-width:1600px;margin:auto}.label{color:var(--blue);font-size:12px;letter-spacing:.18em;font-weight:600;margin:0 0 20px}.heading{font-family:'Noto Serif JP',serif;font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.8;letter-spacing:.06em;margin:0 0 30px}.subtle{color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro .body{font-size:14px;line-height:2.6}.line-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid var(--navy);padding:15px 0;margin-top:15px;font-size:13px}.arrow{display:inline-flex;border:1px solid #aec2c8;border-radius:50%;width:43px;height:43px;align-items:center;justify-content:center;font-size:20px;transition:.25s}.line-link:hover .arrow,.card:hover .arrow{background:var(--navy);color:#fff}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:50px}.section-head .heading{margin:0}.section-head .subtle{max-width:430px}.business{background:var(--paper)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:35px}.card{display:block;background:white}.card-img{height:300px;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover img{transform:scale(1.035)}.card-text{padding:32px 34px 38px;position:relative}.card-text h3{font-size:24px;font-weight:500;margin:4px 0 12px}.card-text .arrow{position:absolute;right:30px;top:32px}.card-text p{color:var(--muted);font-size:13px;margin-bottom:0;max-width:85%}.num{color:var(--blue);font-size:11px;letter-spacing:.14em}.estate-band{margin-top:35px;background:#e5eff0;display:flex;align-items:center;justify-content:space-between;padding:30px 36px;gap:25px}.estate-band strong{font-family:Georgia,serif;font-size:36px}.estate-band p{font-size:13px;margin:0}.process{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px}.process>div{padding:0 30px;border-left:1px solid var(--line)}.process>div:first-child{padding-left:0;border:0}.process h3{font-size:19px;font-weight:500}.process p{font-size:13px;color:var(--muted)}.message{display:grid;grid-template-columns:1fr 1fr;background:#102d3a;color:#fff}.message .portrait{height:610px;overflow:hidden}.portrait img{height:100%;width:100%;object-fit:cover;object-position:center}.message-copy{padding:80px 13%;align-self:center}.message .label{color:#a4cbd2}.message .heading{font-size:32px}.message .line-link{border-color:#bdd0d4}.message p{font-size:13px;color:#d0dce0;line-height:2.5}.recruit{position:relative;background:#f0f3f3;overflow:hidden}.recruit:after{content:'NEXT';position:absolute;font-family:Arial,sans-serif;font-size:260px;font-weight:700;right:5%;bottom:-110px;color:#e2e8e8;pointer-events:none}.recruit>.section{position:relative;z-index:1}.recruit .heading{font-size:46px}.contact-band{background:#e8f1f3;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact-actions{display:flex;flex-direction:column;gap:12px}.contact-button{background:var(--navy);color:white;padding:23px 30px;display:flex;justify-content:space-between}.tel{font-family:Arial,sans-serif;font-size:30px;letter-spacing:.03em}.contact-actions small{color:var(--muted)}footer{padding:65px 8% 28px;background:#fff}.footer-top{display:flex;justify-content:space-between;gap:35px}.footer-links{display:flex;gap:35px;flex-wrap:wrap;font-size:12px}.address{font-size:12px;color:var(--muted);line-height:2.1;margin:25px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.page-title{padding:85px 8% 65px;background:var(--paper)}.page-title h1{font-family:'Noto Serif JP',serif;font-size:46px;font-weight:500;margin:10px 0 15px}.page-title .en{font-family:Arial,sans-serif;font-size:13px;letter-spacing:.2em;color:var(--blue)}.crumb{font-size:10px;color:var(--muted);margin-bottom:35px}.wide-photo{width:100%;height:380px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.detail-grid h2{font-size:30px;font-family:'Noto Serif JP',serif;font-weight:500}.prose p{line-height:2.7;margin:0 0 25px}.prose{max-width:850px}.facts{width:100%;border-collapse:collapse}.facts th,.facts td{text-align:left;vertical-align:top;padding:24px 15px;border-bottom:1px solid var(--line);font-weight:400}.facts th{width:24%;color:var(--muted)}.service-row{padding:70px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr 1fr;gap:30px}.service-row h2{font-family:'Noto Serif JP',serif;font-weight:500;margin:0;font-size:30px}.service-row p{margin:0;color:var(--muted)}.pill{display:inline-block;padding:5px 14px;background:#e9f2f3;margin:5px 5px 0 0;font-size:11px}.jobs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.job{border:1px solid var(--line);padding:35px}.job h3{font-size:20px;font-weight:500}.job p{color:var(--muted);font-size:13px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:25px}.option{border:1px solid var(--line);padding:40px}.option h2{font-size:22px;font-weight:500}.option p{color:var(--muted)}.legal{font-size:13px}.legal h2{font-size:20px;margin-top:40px}.source-note{font-size:11px;color:var(--muted);margin-top:30px}.skip{position:absolute;top:-70px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid #249ab5;outline-offset:5px}@keyframes zoom{from{transform:scale(1.045)}to{transform:scale(1)}}@media(min-width:1600px){.hero-copy{left:10%}}@media(max-width:1000px){nav{gap:17px}.logo{width:170px}.section{padding:80px 6%}.hero{margin:0 14px}.card-img{height:230px}.message-copy{padding:50px 10%}.message .heading{font-size:27px}.message .portrait{height:560px}.footer-links{gap:18px}}@media(max-width:760px){header{height:76px;padding:0 6%}.logo{width:165px}.menu{display:block;border:0;background:transparent;padding:10px;font-size:12px;letter-spacing:.12em}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px 6% 35px;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{height:740px;min-height:0;max-height:calc(100svh - 85px);margin:0 9px}.hero-copy{left:7%;right:5%;top:20%}.hero h1{font-size:38px;line-height:1.85;letter-spacing:.02em}.hero-copy>p{font-size:12px}.hero>img{object-position:61% 50%}.hero:after{background:linear-gradient(90deg,#09242c99,#09242c33)}.hero-foot{bottom:22px;font-size:8px}.eyebrow{font-size:9px}.section{padding:65px 7%}.intro,.detail-grid{grid-template-columns:1fr;gap:25px}.heading{font-size:29px}.section-head{display:block;margin-bottom:30px}.section-head .subtle{margin-top:20px}.cards{grid-template-columns:1fr;gap:25px}.card-img{height:250px}.card-text{padding:25px}.card-text h3{font-size:22px}.card-text .arrow{right:23px;top:26px}.estate-band{padding:25px;flex-wrap:wrap;gap:12px}.estate-band strong{font-size:30px}.process{grid-template-columns:1fr;gap:25px}.process>div{padding:0 0 20px!important;border-left:0;border-bottom:1px solid var(--line)}.message{grid-template-columns:1fr}.message .portrait{height:380px}.message-copy{padding:45px 7%}.recruit .heading{font-size:33px}.recruit:after{font-size:150px;bottom:-50px}.contact-band{grid-template-columns:1fr;gap:20px}.footer-top{display:block}.footer-links{margin-top:30px}.footer-bottom{display:block}.page-title{padding:45px 7%}.page-title h1{font-size:34px}.wide-photo{height:230px}.service-row{grid-template-columns:1fr;gap:15px;padding:40px 0}.jobs,.contact-options{grid-template-columns:1fr}.facts th,.facts td{padding:20px 6px;font-size:12px}.facts th{width:28%}.option{padding:25px}.job{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}/* Refined corporate visual system */
:root{--navy:#123d50;--blue:#008bb1;--paper:#f3f6f5;--line:#d9e3e5;--muted:#617880}body{letter-spacing:.035em;-webkit-font-smoothing:antialiased}header{height:100px;padding:0 5%;border-bottom:0;background:rgba(255,255,255,.97)}.logo{width:218px}nav{gap:31px;font-size:11px;letter-spacing:.09em}.navcta{padding:16px 25px;background:var(--navy);transition:background .25s}.navcta:hover{background:var(--blue)}.hero{margin:0;height:calc(100svh - 100px);min-height:680px;max-height:1000px;background:#f4f7f6;isolation:isolate}.hero>img{position:absolute;width:69%;height:calc(100% - 55px);right:0;top:0;object-position:58% 52%;animation:zoom 18s ease-out forwards}.hero:after{background:linear-gradient(90deg,#f4f7f6 0%,#f4f7f6 24%,rgba(244,247,246,.87) 35%,rgba(244,247,246,.15) 57%,transparent 72%);z-index:0}.hero:before{content:'';position:absolute;left:5%;bottom:0;width:36%;height:2px;background:linear-gradient(90deg,var(--blue) 0 35%,#d9e3e5 35% 100%);z-index:3}.hero-copy{left:8%;top:15%;color:var(--navy)}.hero .eyebrow{font-size:11px;letter-spacing:.26em;color:var(--blue);display:flex;align-items:center;gap:18px}.hero .eyebrow:before{content:'';width:38px;height:1px;background:var(--blue)}.hero h1{font-size:clamp(48px,5.5vw,88px);font-weight:500;line-height:1.65;letter-spacing:.08em;margin:32px 0 28px;text-shadow:0 0 36px #f4f7f633}.hero-copy>p{font-size:14px;line-height:2.4;letter-spacing:.12em;margin-top:25px}.hero-foot{left:8%;right:5%;bottom:18px;color:var(--navy);align-items:center;font-size:9px;letter-spacing:.2em}.hero-foot .scroll:before{height:42px;background:var(--blue);margin-right:18px}.hero-foot .scroll{font-size:9px}.section{padding:130px 9%;max-width:1600px}.label{font-size:10px;letter-spacing:.24em;margin-bottom:25px;display:flex;align-items:center;gap:15px}.label:before{content:'';width:23px;height:1px;background:currentColor}.heading{font-size:clamp(30px,3.2vw,48px);line-height:1.85;font-weight:500;letter-spacing:.08em}.intro{gap:8%;position:relative}.intro:after{content:'OCEAN ESTATE';position:absolute;right:8%;bottom:24px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.4em;color:#c5d2d4}.intro .body{font-size:13px;line-height:2.8;padding-top:25px}.line-link{min-width:230px;justify-content:space-between;font-size:12px;border-bottom-color:#c0cfd4;padding:17px 0 20px;margin-top:22px}.line-link .arrow{width:36px;height:36px;font-size:18px}.arrow{border-color:#afc5cc}.business{background:linear-gradient(180deg,#f1f5f5,#f6f8f7)}.section-head{margin-bottom:65px}.section-head .subtle{font-size:12px;line-height:2.3}.cards{gap:6%;align-items:start}.card{background:transparent}.card:nth-child(2){margin-top:100px}.card-img{height:330px}.card:first-child .card-img{height:420px}.card-img img{transition:transform .8s,filter .8s;filter:saturate(.8)}.card:hover img{transform:scale(1.045);filter:saturate(1)}.card-text{padding:28px 0 35px;border-bottom:1px solid #cad8dc}.card-text h3{font-family:'Noto Serif JP',serif;font-size:27px;letter-spacing:.04em;margin-top:15px;margin-bottom:18px;padding-right:45px}.card-text .arrow{right:0;top:58px;width:37px;height:37px}.card-text p{font-size:12px;line-height:2.4;max-width:94%}.num{font-size:9px;letter-spacing:.16em}.estate-band{margin-top:75px;background:#fff;border-top:1px solid #cedde0;border-bottom:1px solid #cedde0;padding:34px 30px;transition:background .3s}.estate-band:hover{background:#e8f3f5}.estate-band strong{font-size:37px;color:var(--navy);white-space:nowrap}.estate-band p{font-size:11px;color:var(--muted);line-height:2.3}.estate-band .arrow{flex-shrink:0;width:37px;height:37px}.process{margin-top:65px;gap:0}.process>div{padding:0 35px}.process h3{font-family:'Noto Serif JP',serif;font-size:23px;margin-top:24px;margin-bottom:17px}.process p{font-size:12px;line-height:2.5}.message{margin:0 4%;grid-template-columns:48% 52%;background:#113b4c}.message .portrait{height:670px}.message .portrait img{object-position:54% 50%;filter:saturate(.8)}.message-copy{padding:70px 13%}.message .heading{font-size:36px;line-height:1.9}.message .line-link{color:white}.message .line-link:hover .arrow{background:white;color:var(--navy)}.message p{font-size:12px;line-height:2.7}.recruit{background:#fff}.recruit>.section{padding-top:140px;padding-bottom:140px}.recruit .heading{font-size:54px;line-height:1.75}.recruit p:not(.label){font-size:13px;line-height:2.6}.recruit:after{font-size:300px;bottom:-120px;right:7%;color:#f0f4f4;letter-spacing:-.07em}.contact-band{position:relative;max-width:none;padding-left:12%;padding-right:12%;background:#edf4f4}.contact-band .heading{font-size:36px}.contact-actions{padding-left:20px;gap:18px}.contact-button{font-size:12px;padding:25px 32px;transition:.25s}.contact-button:hover{background:var(--blue)}.tel{font-size:34px}.contact-actions small{font-size:10px}.footer-top{align-items:start}.footer-links{font-size:11px;gap:30px}.address{font-size:11px;line-height:2.3}footer{padding:75px 8% 28px}.footer-bottom{margin-top:50px;letter-spacing:.08em}.page-title{position:relative;overflow:hidden;padding:70px 9% 72px;background:#f1f6f5;border-bottom:1px solid #e1e9ea}.page-title:after{content:'';position:absolute;right:-70px;top:-110px;width:460px;height:460px;border:1px solid #cddfe2;transform:rotate(-28deg);pointer-events:none}.page-title .crumb{font-size:9px;margin-bottom:36px;position:relative;z-index:1}.page-title .en{font-size:10px;letter-spacing:.24em}.page-title h1{font-size:43px;letter-spacing:.12em;margin:16px 0 5px;position:relative;z-index:1}.wide-photo{height:420px}.detail-grid{gap:8%}.detail-grid>img{position:sticky;top:135px}.detail-grid h2{font-size:32px;line-height:1.9;margin:25px 0 35px}.prose p{font-size:13px;line-height:2.8}.facts th{font-size:12px;letter-spacing:.05em;width:25%;padding-left:0}.facts td{font-size:13px;line-height:2.3;padding:26px 20px}.facts th,.facts td{border-bottom:1px solid #d9e3e5}.service-row{grid-template-columns:110px 1fr 1.2fr;padding:75px 0;gap:38px}.service-row h2{font-size:31px;line-height:1.8}.service-row p{font-size:13px;line-height:2.6}.service-row>.num{padding-top:8px}.pill{background:#eaf2f3;color:#3c6a78;margin-top:20px;padding:5px 12px;font-size:10px}.jobs{gap:0 40px;margin-top:60px}.job{border:0;border-top:1px solid var(--line);padding:38px 0 45px}.job h3{font-family:'Noto Serif JP',serif;font-size:24px;line-height:1.8}.job p{font-size:12px;line-height:2.5}.contact-options{gap:28px}.option{padding:40px;background:#f6f8f7;border:0;border-top:2px solid #b6cdd3}.option h2{font-family:'Noto Serif JP',serif;font-size:24px}.option p{font-size:12px;line-height:2.5}.option .tel{font-size:32px}.option .line-link{font-size:11px}.reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.in-view{opacity:1;transform:none}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--blue);transform-origin:left;transform:scaleX(0);z-index:50;pointer-events:none}
@media(min-width:1600px){.hero-copy{left:10%}.hero h1{font-size:92px}}
@media(max-width:1100px){nav{gap:18px}.logo{width:185px}.section{padding:95px 7%}.hero h1{font-size:64px}.card:first-child .card-img{height:340px}.card-img{height:260px}.card-text h3{font-size:23px}.message .heading{font-size:29px}.message .portrait{height:600px}.service-row{grid-template-columns:75px 1fr 1.2fr;gap:25px}}
@media(max-width:760px){header{height:78px;padding:0 6%}.logo{width:178px}nav{top:78px;gap:22px;font-size:12px}.navcta{padding:15px 24px}.hero{margin:0;min-height:730px;height:calc(100svh - 78px);max-height:850px}.hero>img{width:88%;height:62%;top:auto;bottom:49px;object-position:57% 55%}.hero:after{background:linear-gradient(180deg,#f4f7f6 0%,#f4f7f6 19%,rgba(244,247,246,.95) 30%,rgba(244,247,246,.25) 51%,transparent 68%)}.hero:before{left:7%;width:35%}.hero-copy{left:8%;top:7%;right:5%}.hero .eyebrow{font-size:8px;letter-spacing:.16em;gap:10px}.hero .eyebrow:before{width:21px}.hero h1{font-size:44px;line-height:1.7;margin:22px 0 13px;letter-spacing:.07em}.hero-copy>p{font-size:11px;line-height:2.2;margin-top:15px;letter-spacing:.07em}.hero-foot{left:8%;right:6%;bottom:12px;font-size:7px;letter-spacing:.08em}.hero-foot .scroll{font-size:7px}.hero-foot .scroll:before{height:22px;margin-right:8px}.section{padding:75px 7%}.heading{font-size:29px;line-height:1.9}.intro{gap:10px;padding-bottom:88px}.intro .body{padding-top:0;font-size:12px;line-height:2.6}.intro:after{bottom:23px;font-size:8px}.label{font-size:9px;margin-bottom:20px}.section-head{margin-bottom:35px}.section-head .subtle{font-size:11px}.cards{gap:38px}.card:nth-child(2){margin-top:0}.card:first-child .card-img,.card-img{height:280px}.card-text{padding:24px 0 27px}.card-text h3{font-size:25px;margin-top:10px}.card-text p{font-size:12px}.card-text .arrow{top:50px}.estate-band{margin-top:40px;padding:25px 22px;position:relative;display:block}.estate-band strong{font-size:32px}.estate-band p{font-size:11px;padding-top:10px;padding-right:8px}.estate-band .arrow{position:absolute;top:26px;right:22px}.process{gap:28px;margin-top:35px}.process>div{padding-bottom:24px!important}.process h3{font-size:24px;margin-top:14px;margin-bottom:10px}.message{margin:0 5%;grid-template-columns:1fr}.message .portrait{height:370px}.message .portrait img{object-position:50% 39%}.message-copy{padding:40px 8% 45px}.message .heading{font-size:29px}.message p{font-size:11px}.message .line-link{min-width:100%}.recruit>.section{padding:85px 8%}.recruit .heading{font-size:36px}.recruit:after{font-size:170px;bottom:-75px}.recruit p:not(.label){font-size:12px}.contact-band{padding:65px 8%}.contact-band .heading{font-size:29px}.contact-actions{padding-left:0;gap:15px}.contact-button{padding:22px 25px}.tel{font-size:30px}.footer-links{gap:18px 24px;font-size:11px}footer{padding:55px 8% 25px}.page-title{padding:38px 8% 45px}.page-title h1{font-size:33px}.page-title:after{width:250px;height:250px;top:-90px;right:-125px}.page-title .crumb{font-size:8px;margin-bottom:28px}.page-title .en{font-size:9px}.wide-photo{height:220px}.detail-grid{gap:25px}.detail-grid>img{position:static}.detail-grid h2{font-size:27px}.prose p{font-size:12px}.facts th{width:28%;font-size:11px}.facts td{font-size:12px;padding:21px 8px}.service-row{grid-template-columns:1fr;padding:40px 0;gap:12px}.service-row h2{font-size:29px}.service-row p{font-size:12px}.service-row>.num{padding-top:0}.jobs{gap:0;margin-top:40px}.job{padding:28px 0 32px}.job h3{font-size:23px}.option{padding:28px}.option h2{font-size:23px}.option .tel{font-size:29px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}}

/* Supplied living-room photograph: presentation-only light and crop adjustments. */
.hero>img{object-position:62% 50%;filter:brightness(1.10) saturate(.94)}.card-img img[src$="ocean-living.jpg"]{object-position:50% 48%;filter:brightness(1.08) saturate(.94)}.card:hover img[src$="ocean-living.jpg"]{filter:brightness(1.08) saturate(1)}@media(max-width:760px){.hero>img{object-position:64% 50%}.card-img img[src$="ocean-living.jpg"]{object-position:55% 50%}}

img[src$="ocean-dining.jpg"]{object-position:50% 48%;filter:brightness(1.16) saturate(.94)}

/* Keep the representative photograph uncropped, with breathing room. */
.message .portrait{height:auto;min-height:0;padding:48px 7%;display:flex;align-items:center;justify-content:center}
.message .portrait img{width:100%;height:auto;object-fit:contain;object-position:center;transform:none}
.detail-grid>img[src$="president-retouched.png"]{width:88%;height:auto;justify-self:center;object-fit:contain}
@media(max-width:760px){.message .portrait{height:auto;padding:30px 8% 0}.detail-grid>img[src$="president-retouched.png"]{width:90%}}

.card-img img[src$="ocean-exterior.jpg"]{object-position:50% 32%}

/* Align both business photographs and their captions. */
.cards .card:nth-child(2){margin-top:0}
.cards .card .card-img{height:auto;aspect-ratio:4/3}
.cards .card .card-img img{width:100%;height:100%;object-fit:cover}

/* Responsive alignment and small-screen typography. */
.intro>*,.cards>*,.detail-grid>*,.message>*,.contact-band>*,.contact-options>*{min-width:0}
@media(max-width:960px){
 header{height:78px;padding:0 6%}.logo{width:178px;max-width:55vw}
 .menu{display:block;flex-shrink:0;border:0;background:transparent;padding:12px;font-size:12px;letter-spacing:.12em}
 nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:24px 6% 30px;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line);max-height:calc(100svh - 78px);overflow-y:auto}
 nav.open{display:flex}.navcta{padding:15px 24px}
}
@media(max-width:760px){
 html{scroll-padding-top:90px}
 .hero{height:auto;min-height:0;max-height:none;padding:38px 7% 58px;display:flex;flex-direction:column}
 .hero-copy{position:relative;left:auto;right:auto;top:auto;width:100%;order:0}
 .hero h1{font-size:clamp(32px,10vw,44px);line-height:1.65;letter-spacing:.04em;margin:22px 0 18px}
 .hero-copy>p{margin:0 0 26px;font-size:12px;line-height:2.2;letter-spacing:.04em}
 .hero>img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;order:1;animation:none;object-position:58% 50%}
 .hero:after{display:none}.hero-foot{left:7%;right:7%;bottom:12px;gap:10px;letter-spacing:.04em}.hero-foot .scroll:before{margin-right:7px}
 .heading,.contact-band .heading,.message .heading{font-size:clamp(24px,7vw,29px);letter-spacing:.04em}
 .section-head .heading{font-size:clamp(24px,7vw,29px)}
 .recruit .heading{font-size:clamp(28px,8vw,36px)}
 .card-text h3{font-size:clamp(21px,6vw,25px);padding-right:45px}
 .card-text p{max-width:100%}.line-link{min-width:0;max-width:100%;gap:20px}
 .message .line-link{width:100%}.arrow{flex-shrink:0}
 .facts{table-layout:fixed}.facts td,.option p,.address{overflow-wrap:anywhere}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
}
