/* V8: scoped visual additions. Approved V4 layout and commercial UI remain intact. */
.photo-stage{position:relative;overflow:hidden;isolation:isolate;background:#173e32}
.hero .hero-picture{position:absolute;inset:0}
.photo-stage .photo-layer{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;opacity:0;transition:opacity 1.25s ease;animation:none;translate:none;filter:none;border-radius:0;pointer-events:none}
.photo-stage .photo-layer.is-current{opacity:1;animation:photo-breathe 20s ease-out both}
@keyframes photo-breathe{from{transform:scale(1.035)}to{transform:scale(1)}}
.motion-paused .photo-layer,.carousel-paused .photo-layer{animation-play-state:paused!important}
.photo-hit{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:zoom-in}
.photo-controls{display:flex;align-items:center;gap:6px;color:var(--green);font-size:11px;width:max-content;max-width:100%;position:relative;z-index:4}
.photo-controls button{display:grid;place-items:center;min-width:40px;min-height:44px;font-size:17px;border-radius:30px;transition:background .2s}
.photo-controls button:hover{background:#173e320d}
.photo-controls .photo-enlarge{font-size:11px;padding:0 10px;white-space:nowrap;letter-spacing:.2px}
.photo-count{min-width:49px;text-align:center;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:1px}
.photo-control-line{width:24px;height:1px;background:currentColor;opacity:.3;margin:0 4px}
.hero .photo-controls{position:absolute;right:5.3%;bottom:23px;color:#fff;z-index:4;background:#092b215c;border:1px solid #ffffff28;border-radius:40px;padding:0 7px;backdrop-filter:blur(12px)}
.hero .photo-controls button:hover{background:#ffffff1c}
.hero .hero-picture:after{background:linear-gradient(90deg,#082018df 0%,#08201895 36%,#0820180d 76%),linear-gradient(0deg,#082018a6,transparent 50%)}
.hero .hero-picture .photo-layer{object-position:50% 50%;filter:saturate(.93)}
.hero .photo-label{z-index:2;pointer-events:none;font-size:10px;letter-spacing:.3px}
.hero .hero-window{width:25%;right:5.5%;top:23%;max-width:380px;rotate:2deg}
.hero .hero-window-image{aspect-ratio:1.08}
.hero .hero-window-caption{padding:11px 12px 6px;font-size:9px}
.hero .hero-window-caption small{font-size:12px}
.hero .hero-motion{bottom:25px}
.caminho-signature{margin-top:40px;background:#e8d057;color:#242b21;border-radius:5px;padding:35px 38px 0;display:grid;grid-template-columns:190px 1fr;gap:20px 38px;position:relative;overflow:hidden}
.caminho-brand{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px}
.caminho-brand>img{width:185px;height:auto;mix-blend-mode:multiply}
.caminho-tracks{display:flex;gap:14px;align-items:center;height:65px;opacity:.7}
.caminho-tracks img{width:20px;height:44px;rotate:35deg}
.caminho-tracks img:nth-child(2){translate:0 -10px}
.caminho-story .eyebrow{color:#353d27;font-size:9px}
.caminho-story h3{font:clamp(28px,3vw,42px)/1.15 var(--serif);margin:7px 0 12px;letter-spacing:-.7px}
.caminho-story p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:660px;margin:0}
.caminho-actions{display:flex;gap:25px;flex-wrap:wrap;margin:15px 0 8px}
.caminho-actions .text-button{font-size:11px;color:#242b21;min-height:40px}
.caminho-map{grid-column:1/-1;border-top:1px solid #202a2329;margin-top:0}
.caminho-map summary{padding:15px 0;font-size:11px;display:flex;justify-content:space-between;cursor:pointer;list-style:none}
.caminho-map summary::-webkit-details-marker{display:none}
.caminho-map[open] summary span{rotate:45deg}
.map-preview{display:block;width:100%;background:#fff;border-radius:3px;padding:14px;cursor:zoom-in}
.map-preview img{width:100%;height:auto;object-fit:contain}
.caminho-map>a{display:inline-block;font-size:11px;padding:16px 0 22px;text-decoration:underline;text-underline-offset:5px}
.cora-picture{position:relative;align-self:center;min-width:0;padding:0 0 6px}
.cora-scene{aspect-ratio:.95;width:90%;border-radius:180px 180px 3px 3px;box-shadow:0 25px 50px #173e3217}
.cora-picture .cora-scene img{height:100%;aspect-ratio:auto;object-position:center}
.cora-inset{position:absolute;right:-8px;top:48%;width:47%;padding:7px 7px 0;background:#f6f0e5;box-shadow:0 15px 40px #15342930;rotate:4deg;z-index:3;transition:rotate .4s,transform .4s;cursor:zoom-in;text-align:left}
.cora-inset:hover{rotate:0deg;transform:translateY(-5px)}
.cora-picture .cora-inset img{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover}
.cora-inset span{display:block;font:italic 13px var(--serif);padding:10px 4px 11px}
.cora-picture figcaption{margin:25px 0 8px;font-size:26px;max-width:90%}
.cora-picture figcaption em{display:inline-block;font-size:18px;line-height:1.5;max-width:330px;margin-top:5px}
.cora-picture .photo-controls{margin-left:-9px}
.about .about-picture{max-width:100%;min-width:0;align-self:center}
.operations-stage{width:100%;aspect-ratio:1.04;border-radius:160px 160px 4px 4px}
.operations-stage:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#06261ad9);pointer-events:none}
.about .operations-stage .photo-layer{height:100%;aspect-ratio:auto;object-position:center}
.operations-label{position:absolute;bottom:30px;left:28px;right:20px;color:#fff;z-index:3;font-size:9px;letter-spacing:2px;pointer-events:none}
.operations-label small{display:block;font:italic 26px/1.2 var(--serif);letter-spacing:0;margin-top:10px}
.operations-note{font-size:10px;line-height:1.7;color:var(--muted);margin:15px 0 3px}
.operations-carousel .photo-controls{margin-left:-9px}
.team-section{padding-top:10px}
.team-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:35px}
.team-heading h2{font-size:clamp(36px,4vw,56px)}
.team-heading>p{font-size:14px;max-width:360px;line-height:1.8;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}
.team-card{border-top:1px solid var(--line);padding:23px 0 25px;position:relative}
.team-number{font:italic 22px var(--serif);color:#ad8a59;display:block;margin-bottom:20px}
.team-card h3{font:27px/1.12 var(--serif);margin:0 0 8px;letter-spacing:-.5px}
.team-role{font-size:10px!important;letter-spacing:.7px;text-transform:uppercase;color:var(--green);margin:0 0 12px}
.team-bio{font-size:12px;line-height:1.7;color:var(--muted);margin:0;max-width:310px}
.press-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;display:flex;align-items:center;gap:18px 27px;flex-wrap:wrap}
.press-line>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}
.press-line a{font-size:11px;text-decoration:underline;text-underline-offset:4px;line-height:1.7}
.team-edit{margin-top:20px;color:var(--muted);font-size:11px}
.team-edit summary{cursor:pointer;display:flex;gap:20px;list-style:none;min-height:44px;align-items:center}
.team-edit>p{max-width:600px;font-size:12px;line-height:1.7}
#team-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#team-fields fieldset{border:1px solid var(--line);padding:18px;min-width:0}
#team-fields legend{font:23px var(--serif);color:var(--green);padding:0 7px}
#team-fields label{display:block;font-size:11px;margin-bottom:12px}
#team-fields input,#team-fields textarea{display:block;margin-top:7px;width:100%;max-width:100%;border:1px solid var(--line);border-radius:2px;background:#fffdf6;color:var(--green);font:13px/1.6 var(--sans);padding:10px}
.team-edit-actions{display:flex;gap:25px;align-items:center;margin-top:20px;flex-wrap:wrap}
#team-status{line-height:1.7}
.dmc-photo{min-height:540px;align-items:end;gap:7%;padding-top:110px;padding-bottom:65px;isolation:isolate;background:#09271e}
.dmc-photo .dmc-background{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.dmc-photo:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06271cbd,#09251d66),linear-gradient(0deg,#08271eeb 0%,#09281f85 50%,#08251e0d)}
.dmc-photo:after{display:none}
.dmc-heading,.dmc-copy{position:relative;z-index:1}
.dmc-photo .dmc-copy{padding-top:20px}
.dmc-photo .eyebrow{font-size:10px;color:#eadbc3}
.dmc-photo .dmc-copy>p{font-size:14px;line-height:1.9;color:#f6f0e6}
.dmc-photo h2{font-size:clamp(39px,4.3vw,66px)}
.dmc-photo-credit{display:inline-block;font-size:10px;color:#f6e7d1;border-bottom:1px solid #ffffff50;min-height:44px;margin-top:25px}
.stays .stay-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 23px}
.stays .stay-card{grid-column:span 2}
.stays .stay-card:nth-child(n+4){grid-column:span 3}
.stays .stay-photo{aspect-ratio:1.5}
.stays .stay-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.stays .stay-photo:hover img{transform:scale(1.04)}
.stays .stay-card:nth-child(n+4) .stay-photo{aspect-ratio:1.85}
.stay-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px 5px 0;background:var(--paper)}
.stay-gallery button{position:relative;overflow:hidden;aspect-ratio:1.45;cursor:zoom-in}
.stay-gallery button img{width:100%;height:100%;object-fit:cover}
.stay-gallery button:first-child{grid-column:1/-1;aspect-ratio:1.8}
.stay-gallery-label{position:absolute;right:12px;bottom:12px;background:#08251ecf;color:#fff;padding:8px 12px;border-radius:20px;font-size:10px}
.social-section{display:grid;grid-template-columns:.85fr 1.3fr;gap:8%;align-items:start;background:#ece7da;border-top:1px solid #173e3210}
.social-heading h2{font-size:clamp(38px,4vw,57px)}
.social-heading>p:last-child{font-size:13px;line-height:1.8;max-width:300px;color:var(--muted)}
.social-tabs{display:flex;gap:20px;border-bottom:1px solid #173e3230;overflow:auto;scrollbar-width:thin}
.social-tabs button{flex-shrink:0;min-height:48px;font-size:11px;color:var(--muted);border-bottom:2px solid transparent;padding:0 0 9px}
.social-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green)}
.social-panel{position:relative;padding:33px 0 0;min-height:300px}
.social-panel[hidden]{display:none}
.social-panel h3{font:clamp(28px,2.7vw,40px)/1.15 var(--serif);letter-spacing:-.6px;max-width:420px;margin:12px 30px 15px 0}
.social-panel>p:not(.eyebrow){font-size:12px;line-height:1.8;max-width:380px;color:var(--muted);margin-bottom:25px}
.social-panel>.eyebrow{font-size:8px;letter-spacing:1.4px}
.social-mark{position:absolute;right:0;top:30px;font:36px var(--serif);color:#a98a54}
.social-panel .button{font-size:11px;min-height:46px}
.social-link-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-top:22px}
.social-link-list a{padding:14px 0;border-bottom:1px solid #173e3225;font-size:11px;line-height:1.5}
.photo-dialog{width:min(1180px,calc(100% - 28px));max-height:94dvh;border:0;padding:12px;background:#f5f0e5;color:var(--green);border-radius:5px;overflow:auto}
.photo-dialog::backdrop{background:#041a14e8;backdrop-filter:blur(8px)}
.photo-dialog figure{margin:0}
.photo-dialog figure>img{display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain;background:#10291f}
.photo-dialog figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 14px 14px}
.photo-dialog h2{font:27px/1.15 var(--serif);margin:0 0 9px;letter-spacing:-.3px}
.photo-dialog figcaption p{font-size:11px;line-height:1.7;margin:0;color:var(--muted)}
.photo-dialog figcaption a{font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.photo-dialog .close-dialog{position:sticky;float:right;top:0;margin:0 0 -44px;background:#f6f0e5e6;border-radius:50%;width:44px;height:44px;z-index:10}
:is(.photo-controls,.social-tabs,.caminho-signature,.team-edit,.photo-dialog) :is(button,a,input,textarea,summary):focus-visible{outline:2px solid #b87d3a;outline-offset:4px}
@media(min-width:1250px){.cora-scene{aspect-ratio:.97}.cora-picture{margin-left:15px}.dmc-photo{min-height:610px}}
@media(max-width:1000px){.hero .hero-window{width:27%;right:4%;top:28%}.hero .photo-controls{right:4%;bottom:25px;gap:2px}.hero .hero-motion{font-size:10px}.hero .photo-label{max-width:65%}.team-grid{gap:0 20px}.team-card h3{font-size:24px}.caminho-signature{padding:28px 25px 0;grid-template-columns:150px 1fr;gap:15px 25px}.caminho-brand>img{width:145px}.social-section{gap:5%;grid-template-columns:.8fr 1.3fr}.social-tabs{gap:17px}.dmc-photo{min-height:650px}.dmc-photo h2{font-size:44px}}
@media(max-width:700px){.hero .hero-window{display:none}.hero .photo-controls{right:6%;bottom:17px;gap:0;padding:0 3px}.hero .photo-controls button{min-width:34px;min-height:44px}.hero .photo-controls .photo-enlarge{padding:0 8px;font-size:10px}.hero .photo-control-line{width:12px;margin:0 3px}.hero .photo-count{font-size:9px;min-width:45px}.hero .hero-motion{left:7%;bottom:21px;font-size:9px;max-width:90px;line-height:1.5}.hero .hero-picture:after{background:linear-gradient(90deg,#082018cf,#08201840),linear-gradient(0deg,#082018bc,transparent 75%)}.hero .photo-label{font-size:8px;max-width:80%;bottom:85px}.caminho-signature{grid-template-columns:1fr;margin-top:30px;padding:25px 22px 0;gap:18px}.caminho-brand{flex-direction:row;justify-content:space-between;align-items:center}.caminho-brand>img{width:165px}.caminho-tracks{height:45px;gap:9px}.caminho-tracks img{width:15px;height:32px}.caminho-story h3{font-size:31px;max-width:300px}.caminho-story h3 em{display:block}.caminho-actions{gap:4px 20px;margin-bottom:3px}.caminho-actions a{flex-basis:100%}.map-preview{padding:9px;overflow:auto}.map-preview img{min-width:580px;max-width:none}.cora-picture{width:100%;margin-top:20px}.cora-scene{aspect-ratio:1.04;width:90%;border-radius:150px 150px 3px 3px}.cora-inset{width:44%;top:44%;right:0}.cora-inset span{font-size:12px;padding:8px 3px}.cora-picture figcaption{font-size:27px;margin-top:28px;max-width:100%}.cora-picture figcaption em{font-size:19px}.operations-stage{aspect-ratio:1.04;border-radius:150px 150px 4px 4px}.operations-label{left:24px;bottom:25px}.operations-label small{font-size:25px}.team-section{padding-top:15px}.team-heading{display:block;margin-bottom:28px}.team-heading>p{margin-top:20px;max-width:340px;font-size:13px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.team-card{padding:20px 0 24px}.team-card h3{font-size:25px;overflow-wrap:anywhere}.team-number{font-size:20px;margin-bottom:17px}.team-role{font-size:9px!important;line-height:1.7}.team-bio{font-size:11px}.press-line{gap:12px;align-items:start;flex-direction:column}#team-fields{grid-template-columns:1fr}.dmc-photo{min-height:650px;padding-top:150px;padding-bottom:45px;gap:20px;align-content:end}.dmc-photo .dmc-background{object-position:58% center}.dmc-photo h2{font-size:42px}.dmc-photo .dmc-copy{padding:0}.dmc-photo .dmc-copy>p{font-size:13px}.dmc-photo-credit{margin-top:12px}.stays .stay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.stays .stay-card,.stays .stay-card:nth-child(n+4){grid-column:auto}.stays .stay-card:last-child{grid-column:1/-1;max-width:none}.stays .stay-card:nth-child(n+4) .stay-photo{aspect-ratio:1.5}.stays .stay-card:last-child .stay-photo{aspect-ratio:1.85}.social-section{grid-template-columns:1fr;gap:20px}.social-heading>p:last-child{max-width:320px}.social-tabs{gap:23px}.social-panel{min-height:310px;padding-top:30px}.social-panel h3{font-size:33px;margin-right:25px}.social-link-list{gap:0 15px}.photo-dialog{padding:7px;width:calc(100% - 16px)}.photo-dialog figcaption{display:block;padding:20px 10px 15px}.photo-dialog h2{font-size:25px}.photo-dialog figcaption a{display:inline-block;padding-top:15px}.photo-dialog figure>img{max-height:65dvh}.stay-gallery{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.photo-stage .photo-layer,.photo-stage .photo-layer.is-current{animation:none!important;transition:none!important}.cora-inset,.stays .stay-photo img{transition:none}.cora-inset:hover,.stays .stay-photo:hover img{transform:none}}

.team-relationship{font-size:10px;line-height:1.5;color:#747b69;margin-top:12px;letter-spacing:.03em}
