:root{--ink:#0d263a;--ink2:#193a50;--blue:#007cae;--bright:#00aeef;--paper:#f7f8f7;--white:#fff;--line:#d9e2e6;--muted:#556977}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button{font:inherit}.wrap{width:min(100% - 64px,1216px);margin-inline:auto}.skip{position:absolute;left:12px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.topline{background:var(--ink);color:#c9d9df;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.topline-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.topline a{text-decoration:none;color:#fff;font-weight:700}.site-header{background:rgba(255,255,255,.98);position:relative;z-index:10;border-bottom:1px solid #e6ecee}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:270px;height:auto}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:700}.site-header nav a:not(.nav-call):hover,.text-link:hover,.card-link:hover{color:var(--blue)}.nav-call{background:var(--ink);color:#fff;padding:13px 20px}.nav-call:hover{background:var(--blue)}.menu-toggle{display:none}.hero{min-height:650px;position:relative;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,26,42,.96) 0%,rgba(5,26,42,.83) 39%,rgba(5,26,42,.24) 82%),linear-gradient(0deg,rgba(5,26,42,.48),transparent 45%),url('assets/honolulu.jpg');background-size:cover;background-position:center 48%;transform:scale(1.015)}.hero-inner{position:relative;z-index:1;padding-block:88px 100px}.hero-copy{max-width:720px}.eyebrow{margin:0 0 25px;color:var(--blue);font-size:12px;letter-spacing:.19em;text-transform:uppercase;font-weight:700}.eyebrow.light{color:#72d5f8}.hero h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;letter-spacing:-.035em;font-weight:400}.hero h1{font-size:clamp(2.8rem,5.1vw,5.1rem);line-height:1.15;margin:0 0 27px}.hero-intro{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.6;max-width:590px;color:#ecf3f5;margin:0 0 36px}.actions{display:flex;flex-wrap:wrap;gap:13px}.button{min-height:52px;padding:14px 23px;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:14px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.button.primary{background:var(--bright);color:#06283a}.button.primary:hover{background:#70d8fa}.button.outline{border:1px solid rgba(255,255,255,.7);color:#fff}.button.outline:hover{background:#fff;color:var(--ink)}.hero-note{color:#c9d8df;font-size:13px;margin:20px 0 0}.hero-index{position:absolute;z-index:1;bottom:36px;right:max(32px,calc((100vw - 1216px)/2));color:#e6f4f8;font-size:11px;font-weight:700;letter-spacing:.18em}.hero-index span{color:var(--bright);margin:0 8px}.section{padding:110px 0}h2{font-size:clamp(2.25rem,3.8vw,3.75rem);line-height:1.22;margin:0}h2 em{font-weight:400;color:var(--blue)}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:12%;align-items:center}.intro-right{border-left:2px solid var(--bright);padding-left:32px}.intro-right p{margin:0 0 26px;color:#415966;font-size:18px;line-height:1.75}.text-link,.card-link{display:inline-flex;gap:14px;align-items:center;text-decoration:none;font-size:14px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:8px}.text-link span,.card-link span{color:var(--blue)}.practice{background:#eef3f5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:46px}.section-head h2{max-width:640px}.section-head>p{max-width:310px;color:var(--muted);margin:0 0 5px}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.practice-card{background:#fff;padding:46px 48px 42px;min-height:495px;display:flex;flex-direction:column;border-top:3px solid var(--bright)}.card-top{display:flex;gap:12px;align-items:center;color:var(--blue);text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700}.rule{height:1px;width:28px;background:var(--blue)}.practice-card h3{font-size:clamp(1.75rem,2.6vw,2.65rem);margin:30px 0 18px}.practice-card p{color:#4c6570;margin:0 0 20px;max-width:470px}.practice-card ul{padding:0;margin:0 0 28px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;color:var(--ink2);font-size:14px}.practice-card li{padding-left:15px;position:relative}.practice-card li:before{content:'';position:absolute;left:0;top:.68em;width:5px;height:5px;background:var(--bright)}.card-link{margin-top:auto;align-self:flex-start}.practice-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:31px;font-size:14px}.practice-foot p{margin:0;color:#4f6672}.practice-foot a{font-weight:700;text-decoration:none;color:var(--blue)}.practice-foot a span{margin-left:9px}.approach{background:var(--ink);color:#fff}.approach-grid{display:grid;grid-template-columns:1fr .72fr;gap:13%}.approach h2{max-width:690px}.approach h2 em{color:#83dafa}.approach-lead>p:not(.eyebrow){max-width:600px;color:#c4d7df;font-size:18px;line-height:1.75;margin:30px 0}.button.pale{background:#fff;color:var(--ink)}.button.pale:hover{background:#a6eaff}.approach-points{display:grid;align-content:center;gap:32px}.approach-points>div{border-top:1px solid #456070;padding-top:21px}.point-line{display:block;height:3px;width:34px;background:var(--bright);margin-top:-23px;margin-bottom:20px}.approach h3{font-size:22px;margin:0 0 8px}.approach-points p{color:#b9d0d9;margin:0;max-width:390px}.attorney{background:#fff}.attorney-grid{display:grid;grid-template-columns:.78fr 1fr;align-items:center;gap:12%}.portrait-wrap{height:470px;background:linear-gradient(145deg,#d7e8ee,#a9bdc8);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.portrait-wrap:before{content:'';position:absolute;inset:25px;border:1px solid rgba(255,255,255,.52)}.portrait-wrap img{height:83%;width:auto;max-width:75%;object-fit:contain;filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;align-self:center}.portrait-caption{position:absolute;left:34px;bottom:27px;font-size:10px;line-height:1.5;letter-spacing:.17em;font-weight:700;color:var(--ink)}.attorney-copy .lead{font:400 1.35rem/1.5 'Libre Baskerville',Georgia,serif;color:var(--ink);margin:26px 0}.attorney-copy>p:not(.eyebrow):not(.lead){color:#536875;line-height:1.75;margin:0 0 16px}.attorney-copy .text-link{margin-top:16px}.contact{background:#f3f6f7}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:11%;align-items:center}.contact-copy>p:not(.eyebrow){color:#526876;font-size:18px;line-height:1.75;max-width:600px;margin:25px 0 32px}.button.dark-outline{border:1px solid var(--ink);color:var(--ink)}.button.dark-outline:hover{background:var(--ink);color:#fff}.contact-copy .small-note{font-size:12px!important;margin:17px 0 0!important}.location{background:#fff;box-shadow:0 18px 50px rgba(10,40,57,.08);padding:34px}.location-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:17px}.location-heading span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:700}.location-heading strong{font:400 20px 'Libre Baskerville',Georgia,serif}.location address{font-style:normal;margin:22px 0;font-size:15px}.location iframe{border:0;width:100%;height:215px;display:block;background:#e8eff2}.map-link{display:block;font-size:13px;font-weight:700;color:var(--blue);text-decoration:none;margin-top:16px}.map-link span{margin-left:8px}footer{background:#091c2a;color:#c9d7dd;padding:57px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:50px;padding-bottom:48px}.footer-main img{width:270px;height:auto;background:#fff;padding:9px}.footer-main p{max-width:350px;font-size:14px}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:13px 40px}.footer-links a{text-decoration:none;font-size:14px}.footer-links a:hover{color:#78d9f9}.footer-bottom{border-top:1px solid #315062;padding-top:19px;font-size:11px;line-height:1.6;color:#91a8b4;display:flex;flex-wrap:wrap;gap:4px 30px}.footer-bottom p{margin:0}.footer-bottom .credit{flex-basis:100%}.mobile-call{display:none}a:focus-visible,button:focus-visible{outline:3px solid var(--bright);outline-offset:3px}@media(max-width:900px){.wrap{width:min(100% - 40px,1216px)}.header-inner{height:78px}.brand img{width:230px}.site-header nav{gap:19px}.site-header nav a{font-size:12px}.nav-call{padding:11px 13px}.hero{min-height:610px}.section{padding:80px 0}.intro-grid,.approach-grid,.attorney-grid,.contact-grid{gap:7%}.practice-card{padding:32px;min-height:510px}.practice-card ul{grid-template-columns:1fr}.portrait-wrap{height:420px}}@media(max-width:680px){body{padding-bottom:59px}.wrap{width:min(100% - 36px,1216px)}.topline-inner{height:32px;justify-content:center}.topline-inner span{display:none}.header-inner{height:76px}.brand img{width:222px}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer}.menu-toggle span{height:2px;width:24px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:16px 18px 24px;box-shadow:0 20px 25px rgba(0,20,35,.13);flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{font-size:16px;padding:12px 8px}.site-header nav .nav-call{text-align:center;color:#fff;padding:14px}.hero{min-height:670px;align-items:flex-end}.hero-image{background-image:linear-gradient(0deg,rgba(5,26,42,.97) 0%,rgba(5,26,42,.88) 48%,rgba(5,26,42,.30) 100%),url('assets/honolulu.jpg');background-position:58% center}.hero-inner{padding-block:125px 76px}.hero h1{font-size:clamp(2.45rem,10.6vw,4rem)}.hero-intro{font-size:17px}.hero .actions{display:grid;grid-template-columns:1fr}.hero-note{font-size:12px}.hero-index{display:none}.section{padding:70px 0}.intro-grid,.approach-grid,.attorney-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-right{padding-left:20px}.intro-right p{font-size:16px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:18px}.practice-grid{grid-template-columns:1fr}.practice-card{min-height:unset;padding:30px 26px}.practice-card ul{grid-template-columns:1fr 1fr}.practice-foot{align-items:flex-start;flex-direction:column}.approach-points{gap:29px}.portrait-wrap{height:400px;max-width:440px;width:100%}.attorney-copy .lead{font-size:1.15rem}.location{padding:24px}.contact-copy>p:not(.eyebrow){font-size:16px}.footer-main{display:block}.footer-links{margin-top:30px;max-width:350px}.footer-bottom{display:block}.footer-bottom p{margin:6px 0}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--bright);padding:9px 15px;box-shadow:0 -6px 20px rgba(0,0,0,.16)}.mobile-call a{display:block;text-align:center;text-decoration:none;color:#052a3c;font-weight:700;font-size:15px;padding:7px}}@media(max-width:390px){.brand img{width:192px}.hero h1{font-size:2.3rem}.practice-card ul{grid-template-columns:1fr}.location-heading{display:block}.location-heading strong{display:block;margin-top:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Refined transparent wordmark and three photographic layers. */
.brand img{width:340px;max-width:100%;height:auto}
.footer-main img{width:340px;max-width:100%;height:auto;background:none;padding:0}
.hero-image{inset:-85px 0;background-position:center 48%;transform:translate3d(0,var(--parallax-shift,0px),0);will-change:transform}
.approach{position:relative;overflow:hidden;isolation:isolate;background:#0d263a}
.approach-image{position:absolute;z-index:-1;inset:-90px 0;background-image:linear-gradient(90deg,rgba(7,29,44,.97) 0%,rgba(7,29,44,.88) 46%,rgba(7,29,44,.67) 100%),url('assets/waikiki-palms.jpg');background-size:cover;background-position:center 56%;transform:translate3d(0,var(--parallax-shift,0px),0);will-change:transform}
.approach .eyebrow.light{color:#8eddf8}
.contact{position:relative;overflow:hidden;isolation:isolate;background:#102f43;color:#fff}
.contact-image{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgba(7,30,45,.94) 0%,rgba(7,30,45,.81) 49%,rgba(7,30,45,.55) 100%),url('assets/aliiolani-hale.jpg');background-size:cover;background-position:center 50%}
.contact-copy .eyebrow{color:#8eddf8}
.contact-copy>p:not(.eyebrow){color:#e0edf1}
.contact-copy .small-note{color:#c6dbe3!important}
.contact .button.dark-outline{border-color:rgba(255,255,255,.78);color:#fff}
.contact .button.dark-outline:hover{background:#fff;color:var(--ink)}
.location{color:var(--ink)}
@media(max-width:900px){.brand img{width:275px}.footer-main img{width:315px}}
@media(max-width:680px){.brand img{width:255px}.hero-image,.approach-image{inset:-50px 0;will-change:auto}.hero-image{background-position:58% center}.approach-image{background-image:linear-gradient(0deg,rgba(7,29,44,.94),rgba(7,29,44,.78)),url('assets/waikiki-palms.jpg');background-position:39% center}.contact-image{background-image:linear-gradient(0deg,rgba(7,30,45,.94),rgba(7,30,45,.76)),url('assets/aliiolani-hale.jpg');background-position:51% center}.contact-grid{gap:45px}}
@media(max-width:390px){.brand img{width:225px}}
@media(prefers-reduced-motion:reduce){.hero-image,.approach-image{transform:none!important;will-change:auto}}

/* Tablet and phone refinement: roomy tap targets, deliberate stacking and no header crowding. */
@media(max-width:980px){
  .site-header .header-inner{height:80px;gap:16px}
  .site-header .menu-toggle{display:flex;width:48px;height:48px;flex:0 0 48px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}
  .site-header .menu-toggle span{height:2px;width:25px;background:var(--ink)}
  .site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:16px max(20px,calc((100vw - 1216px)/2)) 25px;box-shadow:0 20px 25px rgba(0,20,35,.13);flex-direction:column;align-items:stretch;gap:0}
  .site-header nav.open{display:flex}
  .site-header nav a{font-size:16px;padding:13px 10px;min-height:48px;display:flex;align-items:center}
  .site-header nav .nav-call{justify-content:center;margin-top:8px}
  .intro-grid,.approach-grid,.attorney-grid,.contact-grid{gap:7%}
}
@media(max-width:820px){
  .section-head{display:block}
  .section-head>p{max-width:560px;margin-top:20px}
  .intro-grid,.approach-grid,.attorney-grid,.contact-grid{grid-template-columns:1fr;gap:38px}
  .intro-right{max-width:640px}
  .approach-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .approach-points p{font-size:15px}
  .portrait-wrap{max-width:480px;width:100%;height:420px}
  .attorney-copy{max-width:680px}
  .contact-copy{max-width:700px}
  .location{max-width:680px;width:100%}
  .location iframe{height:250px}
}
@media(max-width:780px){
  .practice-grid{grid-template-columns:1fr}
  .practice-card{min-height:auto}
  .practice-card ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .site-header .header-inner{height:76px;gap:8px}
  .site-header nav{top:76px;padding:13px 18px 24px}
  .site-header nav a{min-height:48px}
  .approach-points{grid-template-columns:1fr;gap:29px}
  .practice-card ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-call{padding-bottom:max(9px,env(safe-area-inset-bottom))}
  .location iframe{height:220px}
  .footer-main img{width:min(100%,315px)}
}
@media(max-width:390px){
  .brand img{width:min(225px,calc(100vw - 112px))}
  .practice-card ul{grid-template-columns:1fr}
  .contact .actions{display:grid;grid-template-columns:1fr}
}
@media(max-width:680px){body{padding-bottom:calc(59px + env(safe-area-inset-bottom))}}
