/* GoDaddy-inspired visual layer. The supplied PHP/include/popup architecture is retained. */
.eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--teal); font-size:14px; line-height:1.55; font-weight:650; letter-spacing:.08em; text-transform:uppercase; margin-bottom:22px; }
.eyebrow i { font-style:normal; display:inline-grid; place-items:center; width:30px; height:30px; border:1px solid #bdd7cd; border-radius:50%; letter-spacing:0; font-size:13px; }
.eyebrow.light,.light { color:#c6efdf; }
.status-dot { height:8px; width:8px; flex:0 0 8px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 5px #dfefe8; }
.lead { font-size:20px; line-height:1.7; color:var(--muted); }
.small-copy,.source-credit,.mini-label { font-size:15px; line-height:1.6; }
.mini-label { color:var(--teal); font-weight:550; }
.btn-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.theme-btn { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:58px; padding:14px 24px; border:1px solid transparent; border-radius:8px; font-size:16px; font-weight:650; line-height:1.5; transition:background .24s,color .24s,box-shadow .24s,transform .24s,border-color .24s; }
.theme-btn .icon { width:20px; height:20px; flex-basis:20px; transition:transform .24s; }
.theme-btn:hover .icon { transform:translate(2px,-2px); }
.btn--dark { background:var(--dark); color:#fff; }
.btn--dark:hover { background:#006d66; box-shadow:0 8px 24px #073f3a1a; transform:translateY(-2px); }
.btn--mint { background:#c7f3de; color:#103e36; }
.btn--mint:hover { background:#fff; transform:translateY(-2px); }
.btn--outline { border-color:#b7cbc2; color:var(--ink); background:transparent; }
.btn--outline:hover { border-color:var(--dark); background:#edf6f0; transform:translateY(-2px); }
.text-link { display:inline-flex; align-items:center; gap:12px; color:var(--dark); font-size:17px; line-height:1.55; font-weight:650; padding-block:5px; }
.text-link .icon { transition:transform .25s; }
.text-link:hover .icon { transform:translate(3px,-3px); }
.text-link:hover { text-decoration:underline; }
.circle-button { display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; flex:0 0 44px; border:1px solid #bacec5; border-radius:50%; color:var(--dark); background:transparent; transition:background .22s,color .22s,border-color .22s; }
.circle-button:hover { background:var(--dark); color:#fff; border-color:var(--dark); }
.circle-button:disabled { opacity:.4; cursor:default; }
.reading-progress { position:fixed; inset:0 0 auto; height:3px; z-index:110; pointer-events:none; }
.reading-progress span { display:block; background:var(--teal); height:100%; transform:scaleX(0); transform-origin:left; }
.topbar { background:var(--dark); color:#e7f7ef; font-size:14px; line-height:1.5; }
.topbar .container { display:flex; justify-content:space-between; gap:20px; padding-block:9px; }
.topbar a { display:flex; align-items:center; gap:8px; }
.topbar .icon { width:16px; height:16px; flex-basis:16px; }
.site-header { position:sticky; top:0; z-index:100; background:#ffffffed; backdrop-filter:blur(16px); border-bottom:1px solid #e3ece6; transition:box-shadow .25s; }
.site-header.is-scrolled { box-shadow:0 8px 25px #173e3208; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:92px; }
.brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:13px; background:var(--dark); color:#daf7e9; }
.brand-mark .icon { width:28px; height:28px; }
.brand-wordmark { display:flex; flex-direction:column; white-space:nowrap; }
.brand-wordmark > span { font-size:21px; line-height:1.3; letter-spacing:-1px; font-weight:450; }
.brand-wordmark b { font-weight:750; }
.brand-wordmark small { font-size:12px; line-height:1.5; letter-spacing:.065em; color:var(--muted); margin-top:3px; }
.nav-panel { margin-left:auto; }
.nav-links { display:flex; list-style:none; align-items:center; gap:26px; padding:0; }
.nav-links > li > a,.nav-service-row > a { display:inline-block; font-size:16px; font-weight:550; padding-block:32px; position:relative; }
.nav-links a[aria-current="page"] { color:var(--teal); }
.nav-links > li > a::after,.nav-service-row > a::after { content:""; position:absolute; bottom:24px; height:2px; background:var(--teal); left:0; right:0; transform:scaleX(0); transform-origin:left; transition:transform .24s; }
.nav-links > li > a:hover::after,.nav-links a[aria-current="page"]::after,.nav-service-row > a:hover::after { transform:scaleX(1); }
.nav-service-row { display:flex; align-items:center; gap:5px; }
.drop-toggle { display:grid; place-items:center; width:25px; height:44px; }
.drop-toggle .icon { width:16px; height:16px; }
.drop-toggle[aria-expanded="true"] .icon { transform:rotate(180deg); }
.dropdown { position:absolute; top:calc(100% - 7px); left:50%; transform:translateX(-50%); width:min(850px,calc(100vw - 64px)); background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:0 20px 60px #0a3d3020; }
.dropdown-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:14px; gap:20px; }
.dropdown-head .eyebrow { margin:0; }
.dropdown-head > a { display:flex; align-items:center; gap:6px; font-size:16px; }
.dropdown-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.dropdown-grid > a { display:flex; align-items:center; gap:12px; border-radius:10px; padding:14px; transition:background .2s; }
.dropdown-grid > a:hover { background:var(--soft); }
.dropdown-grid > a > .icon { margin-left:auto; width:18px; }
.dropdown-grid strong { font-size:17px; font-weight:650; display:block; }
.dropdown-grid small { color:var(--muted); font-size:14px; display:block; }
.menu-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:10px; background:#e7f4ec; color:var(--teal); }
.nav-actions { display:flex; align-items:center; gap:14px; }
.nav-actions .theme-btn { min-height:48px; padding:11px 19px; gap:18px; white-space:nowrap; }
.burger,.mobile-contact { display:none; }
.no-js-notice { padding-block:15px; font-size:16px; }
.no-js-notice a { text-decoration:underline; }
/* Home hero */
.home-hero { background:var(--paper); padding:66px 0 65px; overflow:clip; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); align-items:center; gap:65px; }
.hero-copy { padding-block:14px; }
.hero-copy .eyebrow { font-size:13px; letter-spacing:.067em; margin-bottom:25px; }
.banner-heading { font-size:clamp(44px,4.8vw,72px); margin-bottom:25px; }
.banner-heading > span { display:block; }
.banner-text { max-width:565px; margin-bottom:30px; }
.hero-copy .btn-wrap { gap:12px; }
.hero-copy .theme-btn { padding-inline:21px; gap:17px; }
.hero-proof { display:flex; flex-wrap:wrap; align-items:center; gap:23px; margin-top:29px; padding-top:23px; border-top:1px solid #d4e3da; }
.hero-proof > span { display:flex; align-items:center; gap:8px; font-size:16px; line-height:1.5; }
.hero-proof .icon { width:19px; height:19px; flex-basis:19px; color:var(--teal); }
.hero-independent { display:block; font-size:15px; color:var(--muted); margin-top:17px; }
.hero-visual { position:relative; min-width:0; }
.hero-decor { position:absolute; inset:-22px -20px 36px 25px; border-radius:50% 26px 25px 25px; background:#d6eae0; transform:rotate(5deg); }
.hero-slider { position:relative; background:#e1efe5; border:1px solid #cbded2; border-radius:23px; padding:10px 10px 0; box-shadow:0 22px 44px #1c443111; }
.slider-track { display:flex; gap:24px; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scroll-behavior:smooth; }
.slider-track::-webkit-scrollbar { display:none; }
.slider-track:focus-visible { outline-offset:5px; }
.slide { min-width:0; flex:0 0 auto; scroll-snap-align:start; }
.slider-track.is-dragging { scroll-behavior:auto!important; scroll-snap-type:none!important; user-select:none; }
.hero-slider .slider-track { gap:0; border-radius:16px; }
.hero-slide { position:relative; width:100%; height:460px; isolation:isolate; overflow:hidden; border-radius:16px; }
.hero-photo { position:absolute; inset:0; background:#174f48; }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.hero-slide::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 40%,#052d25c9 100%); }
.hero-photo { z-index:-2; }
.hero-slide-caption { position:absolute; bottom:28px; left:28px; right:22px; color:#fff; }
.hero-slide-caption > span { display:inline-block; font-size:14px; letter-spacing:.04em; margin-bottom:11px; color:#e5f6ee; }
.hero-slide-caption h2 { font-size:29px; font-weight:650; line-height:1.2; letter-spacing:-.035em; }
.hero-floating-note { position:absolute; top:25px; left:-27px; display:flex; align-items:center; gap:12px; padding:15px 19px; border-radius:13px; background:white; box-shadow:0 10px 25px #133f3215; color:#214339; font-size:15px; line-height:1.6; }
.hero-floating-note > .icon { width:32px; height:32px; flex-basis:32px; color:var(--teal); }
.hero-floating-note strong { font-weight:650; }
.slider-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:27px; }
.hero-slider .slider-controls { margin:0; padding:17px 8px; }
.slider-position { display:flex; align-items:center; gap:13px; color:var(--muted); font-size:15px; font-variant-numeric:tabular-nums; }
[data-slide-current] { color:var(--ink); font-weight:650; }
.slider-line { display:block; width:92px; height:2px; background:#c4d9cc; }
.slider-line i { display:block; width:100%; height:100%; transform-origin:left; transform:scaleX(.33); background:var(--dark); transition:transform .25s; }
.slider-buttons { display:flex; gap:8px; }
.hero-slider .circle-button { width:38px; height:38px; flex-basis:38px; }
.hero-slider .circle-button .icon { width:18px; height:18px; }
.capability-strip { background:var(--paper); padding:15px 0 38px; }
.capability-strip .container { border-top:1px solid #d4e3da; padding-top:22px; }
.capability-strip p { font-size:15px; color:var(--muted); margin-bottom:14px; }
.capability-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.capability-grid a { display:flex; align-items:center; gap:11px; padding:12px 10px; border-right:1px solid #d4e3da; font-size:16px; color:var(--ink); transition:background .2s; }
.capability-grid a:first-child { padding-left:0; }
.capability-grid a:last-child { border:0; }
.capability-grid a:hover { background:#e3f2e8; }
.capability-grid .icon { color:var(--teal); }
/* Shared section headings */
.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; gap:60px; margin-bottom:45px; }
.section-heading .eyebrow { margin-bottom:20px; }
.section-intro { max-width:470px; justify-self:end; color:var(--muted); }
.section-intro p { margin-bottom:15px; }
.section-intro > p:last-child { margin:0; }
.center-heading { display:block; text-align:center; }
.center-heading p { color:var(--muted); margin:22px auto 0; max-width:650px; }
.soft-section { background:var(--soft); }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-card { position:relative; border:1px solid var(--line); border-radius:15px; padding:30px; background:#fff; transition:transform .3s,background .3s,border-color .3s,box-shadow .3s; }
.service-card:hover { transform:translateY(-6px); background:#f8fcf9; border-color:#8cbba7; box-shadow:0 16px 30px #13422c09; }
.service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:29px; }
.service-icon { width:52px; height:52px; display:inline-grid; place-items:center; border-radius:13px; color:var(--teal); background:#e9f4ee; }
.service-icon .icon { width:26px; height:26px; }
.card-index { color:#627c70; font-size:15px; }
.service-card h3 { margin-bottom:14px; }
.service-card h3 a:hover { color:var(--teal); }
.service-card > p { font-size:17px; color:var(--muted); min-height:84px; }
.service-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding-top:22px; border-top:1px solid var(--line); gap:10px; font-size:15px; font-weight:550; }
.round-arrow { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f1f6f3; transition:background .2s,color .2s,transform .2s; }
.service-card:hover .round-arrow { background:var(--dark); color:white; transform:rotate(7deg); }
/* Portfolio: real credited screenshots, no cloned image slides. */
.portfolio-section { background:#f6f8f5; }
.source-note { display:flex; align-items:flex-start; gap:12px; font-size:16px; color:#455c51; padding:18px 21px; background:#edf2ec; border:1px solid #d7e3d5; border-radius:10px; margin-bottom:30px; }
.source-note > .icon { margin-top:3px; color:var(--teal); }
.source-note strong { font-weight:650; }
.portfolio-card { width:calc((100% - 24px)/2); padding-bottom:3px; }
.portfolio-image { display:block; background:#eadfd1; padding:23px; border-radius:15px; overflow:hidden; position:relative; }
.portfolio-image.rose { background:#ecdedd; }
.portfolio-image.peach { background:#e7d7c6; }
.portfolio-image.mint { background:#d4e8dc; }
.browser-chrome { display:flex; justify-content:space-between; gap:15px; align-items:center; font-size:13px; color:#4b5c53; border-radius:8px 8px 0 0; padding:10px 12px; background:#ffffffed; }
.browser-chrome > span:first-child { display:flex; gap:5px; }
.browser-chrome i { width:6px; height:6px; border-radius:50%; background:#b1c1b6; }
.browser-chrome > .icon { width:14px; height:14px; flex-basis:14px; }
.browser-chrome > span:nth-child(2) { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.screenshot-window { aspect-ratio:1.95; position:relative; overflow:hidden; background:#fff; border-radius:0 0 5px 5px; }
.screenshot-window img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s ease; }
.portfolio-image:hover .screenshot-window img { transform:scale(1.04); }
.portfolio-image-label { display:flex; align-items:center; gap:8px; margin-top:14px; color:#233c30; font-size:14px; }
.portfolio-image-label .icon { width:16px; height:16px; }
.portfolio-info { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0 12px; }
.portfolio-info h3 { margin-top:6px; }
.portfolio-card > p { color:var(--muted); font-size:17px; max-width:520px; }
.source-credit { display:inline-flex; align-items:center; gap:5px; margin-top:14px; color:#446056; text-decoration:underline; }
.source-credit .icon { width:15px; height:15px; flex-basis:15px; }
.filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin:25px 0; }
.filter-pill { padding:10px 17px; border:1px solid #c6dacf; border-radius:30px; background:#fff; font-size:16px; line-height:1.5; transition:background .2s,color .2s,border-color .2s; }
.filter-pill:hover { background:#e8f3ec; }
.filter-pill[aria-pressed="true"] { color:white; border-color:var(--dark); background:var(--dark); }
.other-projects { margin-top:55px; padding-top:38px; border-top:1px solid #d3dfd3; }
.other-projects > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-block:24px; }
.other-projects a { display:flex; flex-wrap:wrap; gap:6px; border:1px solid #d2ddd2; border-radius:9px; padding:20px; font-weight:650; }
.other-projects a span { flex-basis:100%; font-size:15px; font-weight:400; color:var(--muted); }
.other-projects .small-copy { max-width:820px; color:var(--muted); }
/* Real-photo parallax. Images move; document scrolling is never hijacked. */
.parallax-band { position:relative; overflow:hidden; isolation:isolate; padding:100px 0; background:var(--dark); color:#fff; }
.band-photo { position:absolute; inset:0; z-index:-3; }
.band-photo img { width:100%; height:120%; object-fit:cover; position:absolute; top:-10%; left:0; }
.band-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(100deg,#062e29ed,#062e29d4); }
.band-content { display:grid; grid-template-columns:1.3fr .8fr; gap:90px; align-items:center; }
.band-content h2 { font-size:clamp(36px,3.7vw,55px); }
.band-content em { color:#bce9d5; }
.band-content p { color:#e0eee6; font-size:19px; margin-bottom:28px; }
.parallax-frame { overflow:hidden; position:relative; border-radius:var(--radius); background:#d6e8dc; }
.parallax-frame > img { position:absolute; width:100%; height:116%; top:-8%; left:0; object-fit:cover; }
/* Process */
.process-section { background:#eff7f1; }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; position:relative; }
.process-line { position:absolute; left:3%; right:3%; height:1px; top:30px; background:#c5dbcc; }
.process-line span { display:block; background:#35806a; width:100%; height:100%; transform-origin:left; }
.process-card { position:relative; padding-right:20px; }
.step-number { display:inline-grid; place-items:center; width:60px; height:60px; background:#eff7f1; border:1px solid #c5dbcc; border-radius:50%; color:var(--teal); font-size:19px; font-family:var(--heading); font-weight:650; position:relative; z-index:1; margin-bottom:27px; }
.process-card h3 { margin-bottom:13px; font-size:23px; }
.process-card p { color:var(--muted); font-size:17px; }
/* About */
.about-split { gap:90px; }
.about-photo { position:relative; }
.about-photo .parallax-frame { height:590px; border-radius:20px; }
.photo-corner-note { position:absolute; bottom:28px; right:-25px; display:flex; align-items:center; gap:17px; padding:23px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 15px 35px #103f2910; font-size:18px; line-height:1.5; }
.photo-corner-note > .icon { width:32px; height:32px; flex-basis:32px; color:var(--teal); }
.about-copy .lead { margin-top:25px; margin-bottom:17px; }
.about-copy > p:not(.lead) { color:var(--muted); }
.about-values { display:flex; flex-direction:column; gap:12px; margin-block:25px; }
.about-values span { display:flex; align-items:center; gap:10px; font-size:17px; }
.about-values .icon { color:var(--teal); width:18px; height:18px; }
/* Pricing */
.pricing-section { background:#f7f6f0; }
.draft-note { background:#f3eedb; border:1px solid #e3d6ac; border-radius:8px; color:#685020; padding:13px 19px; font-size:16px; line-height:1.6; margin:0 0 30px; }
.pricing-section .draft-note { max-width:800px; margin-inline:auto; text-align:center; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.pricing-card { padding:31px; border:1px solid #d9ded0; border-radius:17px; background:#fff; position:relative; transition:transform .3s,box-shadow .3s; }
.pricing-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px #233e1c0e; }
.pricing-card.is-featured { background:var(--dark); color:#fff; border-color:var(--dark); }
.plan-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:25px; min-height:28px; }
.plan-heading .mini-label { font-size:13px; letter-spacing:.07em; }
.plan-tag { display:block; background:#c7f3de; color:#133e31; border-radius:30px; padding:5px 9px; font-size:12px; line-height:1.45; font-weight:600; }
.pricing-card h3 { font-size:25px; max-width:270px; min-height:65px; margin-bottom:12px; }
.pricing-card > p { color:var(--muted); font-size:16px; }
.price { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-block:29px; }
.price > span { flex-basis:100%; font-size:15px; }
.price strong { font-family:var(--heading); font-size:58px; line-height:1.2; letter-spacing:-.055em; font-weight:750; }
.price sup { font-size:29px; vertical-align:top; line-height:1.75; letter-spacing:-.04em; margin-right:3px; }
.price small { display:block; flex-basis:100%; color:var(--muted); font-size:15px; margin-top:1px; }
.pricing-card .theme-btn { gap:15px; font-size:16px; padding-inline:15px; }
.check-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:15px; }
.check-list li { display:flex; align-items:flex-start; gap:11px; font-size:17px; }
.check-list .icon { color:var(--teal); width:18px; height:18px; flex-basis:18px; margin-top:4px; }
.pricing-card .check-list { margin-top:28px; padding-top:26px; border-top:1px solid var(--line); }
.pricing-card .check-list li { font-size:16px; }
.pricing-card.is-featured > p,.is-featured .price small,.is-featured .price > span,.is-featured .mini-label { color:#c4e3d6; }
.pricing-card.is-featured .check-list { border-color:#366259; }
.pricing-card.is-featured .check-list .icon { color:#baf0d7; }
.pricing-note { display:flex; align-items:flex-start; justify-content:center; gap:12px; max-width:910px; margin:30px auto 0; color:#556551; font-size:16px; }
.pricing-note .icon { margin-top:3px; }
.pricing-extra { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; padding-top:25px; font-size:17px; }
/* Review layouts */
.review-section { background:#fff; }
.review-disclosure { padding:13px 15px; font-size:16px; line-height:1.6; background:#f5f2e8; border-left:3px solid #c6b37b; }
.review-card { width:calc((100% - 24px)/2); display:grid; grid-template-columns:136px minmax(0,1fr); gap:23px; border:1px solid var(--line); border-radius:17px; padding:25px; background:#f9fcf9; min-height:360px; }
.review-portrait { border-radius:10px; position:relative; overflow:hidden; background:#ceded2; }
.review-portrait img { width:100%; height:100%; object-fit:cover; object-position:center; }
.review-portrait > span { position:absolute; left:8px; right:8px; bottom:9px; text-align:center; font-size:12px; line-height:1.4; padding:5px; background:#ffffffed; color:#314536; border-radius:4px; }
.review-body { display:flex; flex-direction:column; }
.review-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
.review-top > .icon { width:28px; height:28px; flex-basis:28px; color:var(--teal); }
.sample-tag { padding:4px 9px; color:#745923; background:#f2e9d6; border:1px solid #e2d6b6; border-radius:4px; font-size:13px; }
.review-card blockquote { font-size:20px; line-height:1.6; font-weight:450; color:#203b30; }
.review-person { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.review-person strong { font-size:16px; display:block; font-weight:650; }
.review-person > span { display:block; font-size:15px; color:var(--muted); margin-top:3px; }
/* Questions */
.faq-section { background:#f8faf6; border-top:1px solid #e1e8dc; }
.faq-layout { display:grid; grid-template-columns:minmax(0,.83fr) minmax(0,1.3fr); gap:100px; align-items:start; }
.faq-aside > p { color:var(--muted); margin-block:20px; max-width:370px; }
.faq-contact { margin-top:35px; border-top:1px solid #d1dfd1; padding-top:27px; }
.faq-contact .service-icon { margin-bottom:16px; }
.faq-contact h3 { font-size:22px; margin-bottom:10px; }
.faq-contact p { margin-bottom:20px; color:var(--muted); font-size:17px; max-width:310px; }
.faq-item { border-bottom:1px solid #cedccd; background:transparent; }
.faq-item:first-child { border-top:1px solid #cedccd; }
.faq-item summary { list-style:none; display:grid; grid-template-columns:27px minmax(0,1fr) 35px; align-items:center; gap:18px; padding:25px 0; cursor:pointer; font-size:19px; line-height:1.5; font-weight:600; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-number { font-size:14px; color:#6b8072; font-weight:400; }
.faq-plus { display:grid; place-items:center; width:34px; height:34px; border:1px solid #cadccc; border-radius:50%; transition:background .25s,transform .25s; }
.faq-plus .icon { width:18px; height:18px; }
.faq-item summary:hover { color:var(--teal); }
.faq-item[open] .faq-plus { transform:rotate(45deg); background:var(--dark); border-color:var(--dark); color:#fff; }
.faq-answer { padding:0 48px 25px 45px; overflow:hidden; }
.faq-answer p { color:var(--muted); font-size:17px; line-height:1.75; }
.faq-answer .mini-label { display:block; margin-bottom:10px; }
/* Footer: intentionally readable; no tiny low-contrast text. */
.site-footer { color:#f2fbf6; background:#103d35; }
.footer-cta { display:grid; grid-template-columns:1.35fr .8fr; gap:100px; padding-block:80px; border-bottom:1px solid #40665b; align-items:center; }
.footer-cta h2 { font-size:clamp(40px,4.3vw,64px); line-height:1.13; }
.footer-cta h2 em { color:#bee8d3; }
.footer-cta-copy p { color:#d2e6db; font-size:19px; margin-bottom:28px; }
.foot-grid { display:grid; grid-template-columns:1.28fr 1fr 1fr 1.1fr; gap:40px; padding-block:62px; }
.site-footer .brand-mark { background:#315d50; color:#d4f2e1; }
.site-footer .brand-wordmark > span { font-size:20px; }
.site-footer .brand-wordmark small { color:#c8dfd3; font-size:12px; }
.foot-brand > p { font-size:17px; color:#d0e1d6; margin-block:22px; }
.footer-phone { display:flex; align-items:center; gap:9px; font-size:17px; color:#daf3e5; }
.footer-phone:hover { text-decoration:underline; }
.footer-column h3 { font-size:18px; font-weight:650; margin-bottom:23px; letter-spacing:0; line-height:1.5; }
.footer-column > a { display:block; font-size:16px; color:#d0e1d6; margin-bottom:13px; line-height:1.5; transition:color .2s,transform .2s; }
.footer-column > a:hover { color:#fff; transform:translateX(3px); text-decoration:underline; }
.footer-column .text-link { color:#d0eedc; font-size:16px; font-weight:500; align-items:flex-start; }
.footer-column .text-link .icon { width:18px; height:18px; flex-basis:18px; margin-top:3px; }
.foot-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:26px; border-top:1px solid #40665b; }
.foot-bottom p { color:#c5dbcd; font-size:14px; line-height:1.7; }
.foot-bottom p + p { margin:0; max-width:650px; margin-left:auto; }
.site-footer .back-top { color:#d8eee0; border-color:#739885; }
.site-footer .back-top:hover { color:var(--dark); background:#dcf6e5; border-color:#dcf6e5; }
/* Interior pages */
.page-hero { background:var(--paper); padding:30px 0 75px; overflow:clip; }
.crumb { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:46px; color:var(--muted); font-size:15px; }
.crumb > span { color:#8a9f8d; }
.crumb a:hover { color:var(--teal); text-decoration:underline; }
.interior-hero-copy h1 { font-size:clamp(38px,4.35vw,64px); }
.interior-hero-copy .lead { margin-block:26px 30px; }
.interior-hero-copy .btn-wrap { gap:20px; }
.interior-hero-image { position:relative; }
.interior-hero-image .parallax-frame { min-height:500px; border-radius:22px; }
.service-photo-label { position:absolute; bottom:25px; left:25px; padding:13px 19px; display:inline-flex; align-items:center; gap:10px; background:#fffffff2; border-radius:10px; font-size:16px; }
.text-hero { padding-bottom:72px; }
.text-hero-inner { max-width:1000px; }
.text-hero .lead { max-width:820px; }
.text-hero h1 { font-size:clamp(42px,5.2vw,78px); }
.text-hero p.lead { margin-top:26px; }
.text-hero .btn-wrap { margin-top:30px; }
.deliverables-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.deliverable { display:flex; align-items:center; gap:18px; padding:26px; border:1px solid var(--line); border-radius:12px; }
.deliverable > span { width:34px; height:34px; flex-shrink:0; display:grid; place-items:center; background:#e4f4e9; border-radius:50%; color:var(--teal); }
.deliverable h3 { font-size:19px; line-height:1.5; letter-spacing:-.01em; }
.detail-photo { min-height:550px; }
.detail-copy > p,.split > div > h2 + p { color:var(--muted); margin-top:25px; }
.mini-steps { margin:25px 0; }
.mini-steps > div { display:flex; align-items:flex-start; gap:15px; padding:15px 0; border-bottom:1px solid var(--line); }
.mini-steps span { color:var(--teal); font-size:15px; padding-top:3px; }
.mini-steps p { font-size:17px; }
.goal-grid,.values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.goal-card,.value-card { padding:33px; border:1px solid #d7e3d7; border-radius:15px; background:#fff; }
.goal-card h3 { margin:27px 0 15px; }
.goal-card > p { font-size:17px; color:var(--muted); margin-bottom:20px; }
.scope-checks > div { display:flex; gap:18px; padding:23px 0; border-bottom:1px solid var(--line); }
.scope-checks .icon { color:var(--teal); margin-top:4px; }
.process-page-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:100px; align-items:start; }
.process-page-intro { position:sticky; top:145px; }
.process-page-intro > p { margin-block:25px; color:var(--muted); }
.timeline-list { border-left:1px solid #c8dbcc; padding-left:49px; }
.timeline-step { position:relative; padding:0 0 50px; margin-bottom:48px; border-bottom:1px solid var(--line); }
.timeline-step:last-child { margin-bottom:0; padding-bottom:0; border:0; }
.timeline-number { position:absolute; top:0; left:-73px; background:var(--dark); color:#ddf8e8; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; font-size:16px; }
.timeline-step > .eyebrow { margin-bottom:18px; padding-top:13px; }
.timeline-step h3 { font-size:31px; margin-bottom:20px; }
.timeline-step > p { color:var(--muted); margin-bottom:25px; }
.your-part { margin-top:27px; padding:22px; border-radius:10px; background:#eff6ef; }
.your-part > strong { display:block; font-size:15px; color:var(--teal); margin-bottom:8px; }
.your-part p { font-size:17px; color:var(--muted); }
.split .check-list { margin-block:27px; }
.about-manifesto { text-align:center; }
.about-manifesto h2 { font-size:clamp(34px,3.7vw,54px); }
.manifesto-copy { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin:40px auto 0; max-width:1040px; text-align:left; color:var(--muted); }
.manifesto-copy p { margin:0; }
.value-card > span { display:block; color:var(--teal); font-size:20px; margin-bottom:27px; }
.value-card h3 { margin-bottom:18px; }
.value-card p { color:var(--muted); font-size:17px; }
.photo-context { color:var(--muted); margin-top:24px; }
.faq-tools { max-width:970px; margin-bottom:40px; }
.faq-search-label { display:block; margin-bottom:12px; font-weight:650; }
.faq-search { display:flex; border:1px solid #a7c6b0; border-radius:9px; overflow:hidden; background:#fff; }
.faq-search input { background:transparent; border:0; flex:1; width:100%; min-width:0; padding:20px; font-size:18px; color:var(--ink); }
.faq-search > span { display:grid; place-items:center; width:60px; color:var(--teal); }
.faq-search:focus-within { outline:3px solid #b6e8cd; outline-offset:3px; }
.faq-search input:focus { outline:none; }
.faq-count { color:var(--muted); font-size:16px; }
.all-faq-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr); align-items:start; gap:70px; }
.question-help { background:#edf5ee; border:1px solid #d1e2d1; border-radius:16px; padding:30px; position:sticky; top:130px; }
.question-help h2 { font-size:29px; margin:24px 0 17px; }
.question-help p { color:var(--muted); font-size:17px; margin-bottom:22px; }
.question-help .theme-btn { width:100%; font-size:16px; gap:15px; padding-inline:15px; }
.faq-empty { padding:30px; background:#f5f8f2; border-radius:12px; }
.faq-empty p { margin-block:15px; color:var(--muted); }
.contact-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:64px; }
.contact-form-panel { padding:36px; border:1px solid var(--line); border-radius:18px; }
.contact-form-panel h2 { font-size:35px; margin-bottom:30px; }
.contact-photo { height:360px; background:#d9e7d7; border-radius:16px; overflow:hidden; }
.contact-photo img { width:100%; height:100%; object-fit:cover; }
.contact-details { margin-top:30px; padding:27px; background:var(--soft); border-radius:13px; }
.contact-phone { display:flex; align-items:center; gap:10px; font-size:22px; font-weight:650; color:var(--dark); margin-bottom:20px; }
.contact-details > p { font-size:17px; color:var(--muted); }
.contact-safety { display:flex; gap:12px; margin-top:25px; padding-top:23px; border-top:1px solid #c9dbc9; }
.contact-safety .icon { color:var(--teal); margin-top:4px; }
.contact-safety p { color:var(--muted); font-size:16px; }
.legal-content { max-width:920px; }
.legal-content h2 { font-size:29px; margin:37px 0 20px; }
.legal-content p { color:#445d4e; font-size:18px; }
.legal-content a { color:var(--teal); text-decoration:underline; }
.status-page { padding:120px 0; min-height:65vh; background:var(--paper); }
.status-page .service-icon { display:flex; margin-bottom:25px; }
.status-page p { margin:27px 0; max-width:730px; color:var(--muted); }
/* Reference-code popup and form hooks. */
.overlay { position:fixed; inset:0; background:#05281ec4; backdrop-filter:blur(8px); z-index:200; opacity:0; visibility:hidden; transition:opacity .2s; }
.overlay.is-open { opacity:1; visibility:visible; }
.popupmain { position:fixed; z-index:210; left:50%; top:50%; transform:translate(-50%,-50%); width:min(1040px,calc(100% - 40px)); max-height:calc(100svh - 36px); background:#fff; border-radius:20px; box-shadow:0 30px 90px #00190d66; }
.mmpopup { display:grid; grid-template-columns:.72fr 1.28fr; max-height:calc(100svh - 36px); overflow-y:auto; overscroll-behavior:contain; border-radius:20px; }
.closeico { position:absolute; top:15px; right:15px; z-index:4; background:#fff; width:38px; height:38px; border-color:#c5d6c9; }
.closeico .icon { width:19px; height:19px; }
.popup-side { background:var(--dark); color:white; display:flex; flex-direction:column; padding:43px 34px 30px; position:relative; overflow:hidden; }
.popup-side::before { content:""; position:absolute; width:330px; height:330px; border:1px solid #729c852f; border-radius:50%; right:-140px; bottom:-130px; pointer-events:none; }
.popup-symbol { display:block; color:#c4edd6; margin-bottom:38px; }
.popup-symbol .icon { width:43px; height:43px; }
.popup-side .eyebrow { font-size:12px; margin-bottom:22px; }
.popup-side h2 { font-size:40px; line-height:1.17; }
.popup-side h2 em { color:#b8edd1; }
.popup-side > p { margin-block:25px; color:#d0e6d9; font-size:17px; }
.popup-side .check-list { gap:14px; }
.popup-side .check-list li { font-size:15px; }
.popup-side .check-list .icon { color:#b6eed2; }
.popup-side-bottom { display:block; font-size:13px; color:#c3dfcc; margin-top:auto; padding-top:45px; }
.popup-content { padding:40px 38px 28px; }
.centercont .eyebrow { margin-bottom:13px; font-size:13px; }
.centercont h2 { font-size:32px; line-height:1.2; padding-right:15px; }
.centercont > p { color:var(--muted); font-size:16px; margin:13px 0 23px; }
.selected-package { border-left:3px solid var(--teal); background:var(--soft); padding:8px 12px; }
.request-form { display:flex; flex-direction:column; gap:17px; }
.field label { display:block; font-size:15px; font-weight:600; margin-bottom:7px; line-height:1.45; }
.field label > span { color:var(--teal); }
.field label small { font-size:13px; font-weight:400; color:var(--muted); }
.field input,.field select,.field textarea { display:block; width:100%; min-width:0; border:1px solid #bdcec2; background:#fff; color:var(--ink); border-radius:7px; padding:11px 13px; font-size:16px; line-height:1.5; min-height:47px; transition:border-color .2s; }
.field input:hover,.field select:hover,.field textarea:hover { border-color:#7da38c; }
.field textarea { resize:vertical; min-height:98px; max-height:300px; }
.field input::placeholder,.field textarea::placeholder { color:#6c7e71; }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.consent { display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.6; color:#435c49; }
.consent input { accent-color:var(--dark); width:17px; height:17px; margin:3px 0 0; flex-shrink:0; }
.consent a { text-decoration:underline; }
.form-note { display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; color:var(--muted); margin:0; }
.form-note .icon { width:16px; height:16px; flex-basis:16px; }
.form-status { padding:17px; border-radius:8px; color:#624713; background:#f8f0d8; border:1px solid #dece9e; font-size:16px; line-height:1.6; margin-block:5px; }
.form-status.is-error { color:#872b1e; background:#fff2ec; border-color:#e8b2a3; }
.form-status.is-success { color:#164f32; background:#e2f6e6; border-color:#a4cfb0; }
.request-form button:disabled { opacity:.65; cursor:wait; }
/* Ring-and-dot cursor: decorative, never intercepts clicks. */
.cursor-ring,.cursor-dot { position:fixed; top:0; left:0; z-index:10000; border-radius:50%; pointer-events:none; opacity:0; }
.cursor-ring { width:34px; height:34px; margin:-17px 0 0 -17px; border:1px solid #087b7e; transition:width .2s,height .2s,margin .2s,background-color .2s,opacity .15s; }
.cursor-dot { width:6px; height:6px; margin:-3px 0 0 -3px; background:#007e83; transition:opacity .15s; }
.cursor-ring.is-link { width:52px; height:52px; margin:-26px 0 0 -26px; background:#02a6a51a; }
.cursor-ring.is-pressed { width:24px; height:24px; margin:-12px 0 0 -12px; }
.cursor-enabled,.cursor-enabled a,.cursor-enabled button,.cursor-enabled summary { cursor:none; }
.cursor-enabled input,.cursor-enabled textarea { cursor:text; }
.cursor-enabled select,.cursor-enabled input[type="checkbox"] { cursor:pointer; }
/* Graceful, explicit media error state; never substitutes made-up portfolio imagery. */
[data-media-error] { position:relative; }
[data-media-error] > img { opacity:0; }
[data-media-error]::before { content:"Image unavailable"; position:absolute; top:30%; left:20px; right:20px; text-align:center; color:#355b48; font-size:16px; background:#e8f1e8; border-radius:8px; padding:12px; }
.hero-photo[data-media-error]::before { top:30%; color:#fff; background:#ffffff15; }

img.logo-img.footer {
    filter: brightness(30);
}

img.logo-img {
    height: 70px;
}